@dvsa/cvs-type-definitions 3.0.13 → 3.0.15

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.
@@ -18,7 +18,6 @@
18
18
  "techRecord_vehicleConfiguration",
19
19
  "techRecord_vehicleClass_code",
20
20
  "techRecord_vehicleClass_description",
21
- "techRecord_numberOfWheelsDriven",
22
21
  "techRecord_approvalType",
23
22
  "techRecord_manufactureYear",
24
23
  "techRecord_bodyType_code",
@@ -433,9 +432,17 @@
433
432
  },
434
433
  "techRecord_axles": {
435
434
  "type": "array",
435
+ "minItems": 1,
436
436
  "items": {
437
437
  "type": "object",
438
438
  "title": "HGV Axles",
439
+ "required": [
440
+ "weights_gbWeight",
441
+ "weights_designWeight",
442
+ "tyres_tyreCode",
443
+ "tyres_tyreSize",
444
+ "tyres_fitmentCode"
445
+ ],
439
446
  "additionalProperties": false,
440
447
  "properties": {
441
448
  "parkingBrakeMrk": {
@@ -592,31 +599,27 @@
592
599
  ]
593
600
  },
594
601
  "techRecord_euVehicleCategory": {
595
- "anyOf": [
596
- {
597
- "title": "EU vehicle category",
598
- "type": "string",
599
- "enum": [
600
- "m1",
601
- "m2",
602
- "m3",
603
- "n1",
604
- "n2",
605
- "n3",
606
- "o1",
607
- "o2",
608
- "o3",
609
- "o4",
610
- "l1e-a",
611
- "l1e",
612
- "l2e",
613
- "l3e",
614
- "l4e",
615
- "l5e",
616
- "l6e",
617
- "l7e"
618
- ]
619
- }
602
+ "title": "EU vehicle category",
603
+ "type": "string",
604
+ "enum": [
605
+ "m1",
606
+ "m2",
607
+ "m3",
608
+ "n1",
609
+ "n2",
610
+ "n3",
611
+ "o1",
612
+ "o2",
613
+ "o3",
614
+ "o4",
615
+ "l1e-a",
616
+ "l1e",
617
+ "l2e",
618
+ "l3e",
619
+ "l4e",
620
+ "l5e",
621
+ "l6e",
622
+ "l7e"
620
623
  ]
621
624
  },
622
625
  "techRecord_frontAxleToRearAxle": {
@@ -37,7 +37,8 @@
37
37
  "techRecord_bodyType_description",
38
38
  "techRecord_bodyType_code",
39
39
  "techRecord_vehicleConfiguration",
40
- "vin"
40
+ "vin",
41
+ "techRecord_euVehicleCategory"
41
42
  ],
42
43
  "properties": {
43
44
  "createdTimestamp": {
@@ -587,34 +588,27 @@
587
588
  "maximum": 99
588
589
  },
589
590
  "techRecord_euVehicleCategory": {
590
- "anyOf": [
591
- {
592
- "title": "EU vehicle category",
593
- "type": "string",
594
- "enum": [
595
- "m1",
596
- "m2",
597
- "m3",
598
- "n1",
599
- "n2",
600
- "n3",
601
- "o1",
602
- "o2",
603
- "o3",
604
- "o4",
605
- "l1e-a",
606
- "l1e",
607
- "l2e",
608
- "l3e",
609
- "l4e",
610
- "l5e",
611
- "l6e",
612
- "l7e"
613
- ]
614
- },
615
- {
616
- "type": "null"
617
- }
591
+ "title": "EU vehicle category",
592
+ "type": "string",
593
+ "enum": [
594
+ "m1",
595
+ "m2",
596
+ "m3",
597
+ "n1",
598
+ "n2",
599
+ "n3",
600
+ "o1",
601
+ "o2",
602
+ "o3",
603
+ "o4",
604
+ "l1e-a",
605
+ "l1e",
606
+ "l2e",
607
+ "l3e",
608
+ "l4e",
609
+ "l5e",
610
+ "l6e",
611
+ "l7e"
618
612
  ]
619
613
  },
620
614
  "techRecord_euroStandard": {
@@ -1236,23 +1230,25 @@
1236
1230
  "type": "string"
1237
1231
  },
1238
1232
  "techRecord_axles": {
1239
- "type": [
1240
- "null",
1241
- "array"
1242
- ],
1233
+ "type": "array",
1234
+ "minItems": 1,
1243
1235
  "items": {
1244
- "type": [
1245
- "null",
1246
- "object"
1247
- ],
1236
+ "type": "object",
1248
1237
  "title": "TRL Axles",
1249
1238
  "additionalProperties": false,
1239
+ "required": [
1240
+ "weights_gbWeight",
1241
+ "weights_designWeight",
1242
+ "tyres_tyreCode",
1243
+ "tyres_tyreSize",
1244
+ "tyres_fitmentCode",
1245
+ "parkingBrakeMrk",
1246
+ "brakes_brakeActuator",
1247
+ "brakes_leverLength"
1248
+ ],
1250
1249
  "properties": {
1251
1250
  "parkingBrakeMrk": {
1252
- "type": [
1253
- "boolean",
1254
- "null"
1255
- ]
1251
+ "type": "boolean"
1256
1252
  },
1257
1253
  "axleNumber": {
1258
1254
  "type": [
@@ -1261,18 +1257,12 @@
1261
1257
  ]
1262
1258
  },
1263
1259
  "brakes_brakeActuator": {
1264
- "type": [
1265
- "null",
1266
- "integer"
1267
- ],
1260
+ "type": "integer",
1268
1261
  "minimum": 0,
1269
1262
  "maximum": 999
1270
1263
  },
1271
1264
  "brakes_leverLength": {
1272
- "type": [
1273
- "null",
1274
- "integer"
1275
- ],
1265
+ "type": "integer",
1276
1266
  "minimum": 0,
1277
1267
  "maximum": 999
1278
1268
  },
@@ -1283,6 +1273,11 @@
1283
1273
  ]
1284
1274
  },
1285
1275
  "weights_gbWeight": {
1276
+ "type": "integer",
1277
+ "minimum": 0,
1278
+ "maximum": 99999
1279
+ },
1280
+ "weights_eecWeight": {
1286
1281
  "type": [
1287
1282
  "integer",
1288
1283
  "null"
@@ -1291,10 +1286,7 @@
1291
1286
  "maximum": 99999
1292
1287
  },
1293
1288
  "weights_designWeight": {
1294
- "type": [
1295
- "integer",
1296
- "null"
1297
- ],
1289
+ "type": "integer",
1298
1290
  "minimum": 0,
1299
1291
  "maximum": 99999
1300
1292
  },
@@ -1315,18 +1307,12 @@
1315
1307
  "maximum": 99999
1316
1308
  },
1317
1309
  "tyres_tyreCode": {
1318
- "type": [
1319
- "integer",
1320
- "null"
1321
- ],
1310
+ "type": "integer",
1322
1311
  "minimum": 0,
1323
1312
  "maximum": 99999
1324
1313
  },
1325
1314
  "tyres_tyreSize": {
1326
- "type": [
1327
- "string",
1328
- "null"
1329
- ],
1315
+ "type": "string",
1330
1316
  "maxLength": 12
1331
1317
  },
1332
1318
  "tyres_plyRating": {
@@ -1336,18 +1322,11 @@
1336
1322
  ]
1337
1323
  },
1338
1324
  "tyres_fitmentCode": {
1339
- "anyOf": [
1340
- {
1341
- "type": "null"
1342
- },
1343
- {
1344
- "title": "Fitment Code",
1345
- "type": "string",
1346
- "enum": [
1347
- "single",
1348
- "double"
1349
- ]
1350
- }
1325
+ "title": "Fitment Code",
1326
+ "type": "string",
1327
+ "enum": [
1328
+ "single",
1329
+ "double"
1351
1330
  ]
1352
1331
  },
1353
1332
  "tyres_dataTrAxles": {
@@ -907,6 +907,14 @@
907
907
  "minimum": 0,
908
908
  "maximum": 99999
909
909
  },
910
+ "weights_eecWeight": {
911
+ "type": [
912
+ "integer",
913
+ "null"
914
+ ],
915
+ "minimum": 0,
916
+ "maximum": 99999
917
+ },
910
918
  "weights_ladenWeight": {
911
919
  "type": [
912
920
  "integer",
@@ -1158,6 +1158,14 @@
1158
1158
  "minimum": 0,
1159
1159
  "maximum": 99999
1160
1160
  },
1161
+ "weights_eecWeight": {
1162
+ "type": [
1163
+ "integer",
1164
+ "null"
1165
+ ],
1166
+ "minimum": 0,
1167
+ "maximum": 99999
1168
+ },
1161
1169
  "weights_ladenWeight": {
1162
1170
  "type": [
1163
1171
  "integer",
@@ -10,7 +10,6 @@
10
10
  "techRecord_vehicleConfiguration",
11
11
  "techRecord_vehicleClass_code",
12
12
  "techRecord_vehicleClass_description",
13
- "techRecord_numberOfWheelsDriven",
14
13
  "techRecord_approvalType",
15
14
  "techRecord_manufactureYear",
16
15
  "techRecord_bodyType_code",
@@ -440,10 +439,18 @@
440
439
  },
441
440
  "techRecord_axles": {
442
441
  "type": "array",
442
+ "minItems": 1,
443
443
  "items": {
444
444
  "type": "object",
445
445
  "title": "HGV Axles",
446
446
  "additionalProperties": false,
447
+ "required": [
448
+ "weights_gbWeight",
449
+ "weights_designWeight",
450
+ "tyres_tyreCode",
451
+ "tyres_tyreSize",
452
+ "tyres_fitmentCode"
453
+ ],
447
454
  "properties": {
448
455
  "parkingBrakeMrk": {
449
456
  "type": "boolean"
@@ -590,31 +597,27 @@
590
597
  ]
591
598
  },
592
599
  "techRecord_euVehicleCategory": {
593
- "anyOf": [
594
- {
595
- "title": "EU vehicle category",
596
- "type": "string",
597
- "enum": [
598
- "m1",
599
- "m2",
600
- "m3",
601
- "n1",
602
- "n2",
603
- "n3",
604
- "o1",
605
- "o2",
606
- "o3",
607
- "o4",
608
- "l1e-a",
609
- "l1e",
610
- "l2e",
611
- "l3e",
612
- "l4e",
613
- "l5e",
614
- "l6e",
615
- "l7e"
616
- ]
617
- }
600
+ "title": "EU vehicle category",
601
+ "type": "string",
602
+ "enum": [
603
+ "m1",
604
+ "m2",
605
+ "m3",
606
+ "n1",
607
+ "n2",
608
+ "n3",
609
+ "o1",
610
+ "o2",
611
+ "o3",
612
+ "o4",
613
+ "l1e-a",
614
+ "l1e",
615
+ "l2e",
616
+ "l3e",
617
+ "l4e",
618
+ "l5e",
619
+ "l6e",
620
+ "l7e"
618
621
  ]
619
622
  },
620
623
  "techRecord_frontAxleToRearAxle": {
@@ -812,9 +815,6 @@
812
815
  "type": "string",
813
816
  "maxLength": 30
814
817
  },
815
- "techRecord_numberOfWheelsDriven": {
816
- "type": "integer"
817
- },
818
818
  "techRecord_noOfAxles": {
819
819
  "anyOf": [
820
820
  {
@@ -858,12 +858,6 @@
858
858
  ],
859
859
  "maxLength": 30
860
860
  },
861
- "techRecord_numberOfWheelsDriven": {
862
- "type": [
863
- "integer",
864
- "null"
865
- ]
866
- },
867
861
  "techRecord_noOfAxles": {
868
862
  "anyOf": [
869
863
  {
@@ -9,8 +9,7 @@
9
9
  "vin",
10
10
  "techRecord_vehicleConfiguration",
11
11
  "techRecord_vehicleClass_code",
12
- "techRecord_vehicleClass_description",
13
- "techRecord_numberOfWheelsDriven"
12
+ "techRecord_vehicleClass_description"
14
13
  ],
15
14
  "properties": {
16
15
  "secondaryVrms": {
@@ -844,9 +843,6 @@
844
843
  ],
845
844
  "maxLength": 30
846
845
  },
847
- "techRecord_numberOfWheelsDriven": {
848
- "type": "integer"
849
- },
850
846
  "techRecord_noOfAxles": {
851
847
  "anyOf": [
852
848
  {
@@ -29,7 +29,8 @@
29
29
  "techRecord_bodyType_description",
30
30
  "techRecord_bodyType_code",
31
31
  "techRecord_vehicleConfiguration",
32
- "vin"
32
+ "vin",
33
+ "techRecord_euVehicleCategory"
33
34
  ],
34
35
  "properties": {
35
36
  "partialVin": {
@@ -585,34 +586,27 @@
585
586
  "maximum": 99
586
587
  },
587
588
  "techRecord_euVehicleCategory": {
588
- "anyOf": [
589
- {
590
- "title": "EU vehicle category",
591
- "type": "string",
592
- "enum": [
593
- "m1",
594
- "m2",
595
- "m3",
596
- "n1",
597
- "n2",
598
- "n3",
599
- "o1",
600
- "o2",
601
- "o3",
602
- "o4",
603
- "l1e-a",
604
- "l1e",
605
- "l2e",
606
- "l3e",
607
- "l4e",
608
- "l5e",
609
- "l6e",
610
- "l7e"
611
- ]
612
- },
613
- {
614
- "type": "null"
615
- }
589
+ "title": "EU vehicle category",
590
+ "type": "string",
591
+ "enum": [
592
+ "m1",
593
+ "m2",
594
+ "m3",
595
+ "n1",
596
+ "n2",
597
+ "n3",
598
+ "o1",
599
+ "o2",
600
+ "o3",
601
+ "o4",
602
+ "l1e-a",
603
+ "l1e",
604
+ "l2e",
605
+ "l3e",
606
+ "l4e",
607
+ "l5e",
608
+ "l6e",
609
+ "l7e"
616
610
  ]
617
611
  },
618
612
  "techRecord_euroStandard": {
@@ -1207,20 +1201,25 @@
1207
1201
  "type": "string"
1208
1202
  },
1209
1203
  "techRecord_axles": {
1210
- "type": [
1211
- "null",
1212
- "array"
1213
- ],
1204
+ "type": "array",
1205
+ "minItems": 1,
1214
1206
  "items": {
1215
1207
  "type": "object",
1216
1208
  "title": "TRL Axles",
1217
1209
  "additionalProperties": false,
1210
+ "required": [
1211
+ "weights_gbWeight",
1212
+ "weights_designWeight",
1213
+ "tyres_tyreCode",
1214
+ "tyres_tyreSize",
1215
+ "tyres_fitmentCode",
1216
+ "parkingBrakeMrk",
1217
+ "brakes_brakeActuator",
1218
+ "brakes_leverLength"
1219
+ ],
1218
1220
  "properties": {
1219
1221
  "parkingBrakeMrk": {
1220
- "type": [
1221
- "boolean",
1222
- "null"
1223
- ]
1222
+ "type": "boolean"
1224
1223
  },
1225
1224
  "axleNumber": {
1226
1225
  "type": [
@@ -1229,18 +1228,12 @@
1229
1228
  ]
1230
1229
  },
1231
1230
  "brakes_brakeActuator": {
1232
- "type": [
1233
- "null",
1234
- "integer"
1235
- ],
1231
+ "type": "integer",
1236
1232
  "minimum": 0,
1237
1233
  "maximum": 999
1238
1234
  },
1239
1235
  "brakes_leverLength": {
1240
- "type": [
1241
- "null",
1242
- "integer"
1243
- ],
1236
+ "type": "integer",
1244
1237
  "minimum": 0,
1245
1238
  "maximum": 999
1246
1239
  },
@@ -1251,6 +1244,11 @@
1251
1244
  ]
1252
1245
  },
1253
1246
  "weights_gbWeight": {
1247
+ "type": "integer",
1248
+ "minimum": 0,
1249
+ "maximum": 99999
1250
+ },
1251
+ "weights_eecWeight": {
1254
1252
  "type": [
1255
1253
  "integer",
1256
1254
  "null"
@@ -1259,10 +1257,7 @@
1259
1257
  "maximum": 99999
1260
1258
  },
1261
1259
  "weights_designWeight": {
1262
- "type": [
1263
- "integer",
1264
- "null"
1265
- ],
1260
+ "type": "integer",
1266
1261
  "minimum": 0,
1267
1262
  "maximum": 99999
1268
1263
  },
@@ -1283,18 +1278,12 @@
1283
1278
  "maximum": 99999
1284
1279
  },
1285
1280
  "tyres_tyreCode": {
1286
- "type": [
1287
- "integer",
1288
- "null"
1289
- ],
1281
+ "type": "integer",
1290
1282
  "minimum": 0,
1291
1283
  "maximum": 99999
1292
1284
  },
1293
1285
  "tyres_tyreSize": {
1294
- "type": [
1295
- "string",
1296
- "null"
1297
- ],
1286
+ "type": "string",
1298
1287
  "maxLength": 12
1299
1288
  },
1300
1289
  "tyres_plyRating": {
@@ -1304,18 +1293,11 @@
1304
1293
  ]
1305
1294
  },
1306
1295
  "tyres_fitmentCode": {
1307
- "anyOf": [
1308
- {
1309
- "type": "null"
1310
- },
1311
- {
1312
- "title": "Fitment Code",
1313
- "type": "string",
1314
- "enum": [
1315
- "single",
1316
- "double"
1317
- ]
1318
- }
1296
+ "title": "Fitment Code",
1297
+ "type": "string",
1298
+ "enum": [
1299
+ "single",
1300
+ "double"
1319
1301
  ]
1320
1302
  },
1321
1303
  "tyres_dataTrAxles": {
@@ -1178,6 +1178,14 @@
1178
1178
  "minimum": 0,
1179
1179
  "maximum": 99999
1180
1180
  },
1181
+ "weights_eecWeight": {
1182
+ "type": [
1183
+ "integer",
1184
+ "null"
1185
+ ],
1186
+ "minimum": 0,
1187
+ "maximum": 99999
1188
+ },
1181
1189
  "weights_designWeight": {
1182
1190
  "type": [
1183
1191
  "integer",
@@ -1131,6 +1131,14 @@
1131
1131
  "minimum": 0,
1132
1132
  "maximum": 99999
1133
1133
  },
1134
+ "weights_eecWeight": {
1135
+ "type": [
1136
+ "integer",
1137
+ "null"
1138
+ ],
1139
+ "minimum": 0,
1140
+ "maximum": 99999
1141
+ },
1134
1142
  "weights_designWeight": {
1135
1143
  "type": [
1136
1144
  "integer",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dvsa/cvs-type-definitions",
3
- "version": "3.0.13",
3
+ "version": "3.0.15",
4
4
  "description": "type definitions for cvs vta application",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -2,12 +2,13 @@ import { ErrorObject } from "ajv";
2
2
  import { schemas } from "./schemas";
3
3
  export declare type Schema = typeof schemas[number];
4
4
  /**
5
- * Validate an object according to a JSON schema
6
- * @param {Schema} schemaName `enum` - the name of the JSON schema to validate against
7
- * @param {object} objectToValidate `object` - the object to validate
8
- * @param {boolean | undefined} returnErrors `boolean` - Optional. Toggles between returning a boolean or the validation errors. Defaults to false.
9
- * @param {boolean | undefined} logErrors `boolean` - Optional. Toggles the logging of errors to the console. Defaults to false.
10
- * @returns {boolean | ErrorObject[]}`boolean | validationErrors`, depending on `returnErrors` flag.
11
- */
5
+ * Validate an object according to a JSON schema
6
+ * @param {Schema} schemaName `enum` - the name of the JSON schema to validate against
7
+ * @param {object} objectToValidate `object` - the object to validate
8
+ * @param {boolean | undefined} returnErrors `boolean` - Optional. Toggles between returning a boolean or the validation errors. Defaults to false.
9
+ * @param {boolean | undefined} logErrors `boolean` - Optional. Toggles the logging of errors to the console. Defaults to false.
10
+ * @returns {boolean | ErrorObject[]}`boolean | validationErrors`, depending on `returnErrors` flag.
11
+ */
12
12
  export declare function isValidObject<B extends boolean | undefined>(schemaName: Schema, objectToValidate: object): boolean;
13
13
  export declare function isValidObject<B extends boolean | undefined>(schemaName: Schema, objectToValidate: object, returnErrors: B): B extends false ? boolean : ErrorObject[];
14
+ export declare function isValidObject<B extends boolean | undefined>(schemaName: Schema, objectToValidate: object, returnErrors: B, logErrors: boolean | undefined): B extends false ? boolean : ErrorObject[];
@@ -197,7 +197,10 @@ export interface TechRecordGETHGVComplete {
197
197
  techRecord_applicantDetails_telephoneNumber?: null | string;
198
198
  techRecord_applicantDetails_emailAddress?: null | string;
199
199
  techRecord_applicationId?: null | string;
200
- techRecord_axles: HGVAxles[];
200
+ /**
201
+ * @minItems 1
202
+ */
203
+ techRecord_axles: [HGVAxles, ...HGVAxles[]];
201
204
  techRecord_bodyType_code: string;
202
205
  techRecord_bodyType_description: string;
203
206
  techRecord_brakes_antilockBrakingSystem?: string | null;
@@ -235,7 +238,7 @@ export interface TechRecordGETHGVComplete {
235
238
  techRecord_microfilm_microfilmRollNumber?: string | null;
236
239
  techRecord_microfilm_microfilmSerialNumber?: string | null;
237
240
  techRecord_model: string;
238
- techRecord_numberOfWheelsDriven: number;
241
+ techRecord_numberOfWheelsDriven?: number;
239
242
  techRecord_noOfAxles?: number | null;
240
243
  techRecord_notes: string;
241
244
  techRecord_offRoad: boolean;
@@ -271,13 +274,13 @@ export interface TechRecordGETHGVComplete {
271
274
  export interface HGVAxles {
272
275
  parkingBrakeMrk?: boolean;
273
276
  axleNumber?: number;
274
- weights_gbWeight?: number;
275
- weights_designWeight?: number;
277
+ weights_gbWeight: number;
278
+ weights_designWeight: number;
276
279
  weights_eecWeight?: number | null;
277
- tyres_tyreCode?: number;
278
- tyres_tyreSize?: string;
280
+ tyres_tyreCode: number;
281
+ tyres_tyreSize: string;
279
282
  tyres_plyRating?: string | null;
280
- tyres_fitmentCode?: FitmentCode;
283
+ tyres_fitmentCode: FitmentCode;
281
284
  tyres_dataTrAxles?: null | number;
282
285
  }
283
286
  export interface AxleSpacing {
@@ -162,23 +162,6 @@ export type VehicleConfiguration =
162
162
  | "four-in-line"
163
163
  | "dolly"
164
164
  | "full drawbar";
165
- export type TRLAxles = null | {
166
- parkingBrakeMrk?: boolean | null;
167
- axleNumber?: number | null;
168
- brakes_brakeActuator?: null | number;
169
- brakes_leverLength?: null | number;
170
- brakes_springBrakeParking?: null | boolean;
171
- weights_gbWeight?: number | null;
172
- weights_designWeight?: number | null;
173
- weights_ladenWeight?: number | null;
174
- weights_kerbWeight?: number | null;
175
- tyres_tyreCode?: number | null;
176
- tyres_tyreSize?: string | null;
177
- tyres_plyRating?: string | null;
178
- tyres_fitmentCode?: null | FitmentCode;
179
- tyres_dataTrAxles?: null | number;
180
- tyres_speedCategorySymbol?: SpeedCategorySymbol | null;
181
- };
182
165
  export type FitmentCode = "single" | "double";
183
166
  export type SpeedCategorySymbol =
184
167
  | "a7"
@@ -275,7 +258,7 @@ export interface TechRecordGETTRLComplete {
275
258
  techRecord_dimensions_width: number | null;
276
259
  drawbarCouplingFitted?: null | string;
277
260
  techRecord_emissionsLimit?: null | number;
278
- techRecord_euVehicleCategory?: EUVehicleCategory | null;
261
+ techRecord_euVehicleCategory: EUVehicleCategory;
279
262
  techRecord_euroStandard?: null | EuroStandard;
280
263
  frontAxleTo5thWheelMax?: number | null;
281
264
  techRecord_frontAxleTo5thWheelMin?: number | null;
@@ -342,7 +325,10 @@ export interface TechRecordGETTRLComplete {
342
325
  techRecord_vehicleType: "trl";
343
326
  trailerId: string;
344
327
  vin: string;
345
- techRecord_axles?: null | TRLAxles[];
328
+ /**
329
+ * @minItems 1
330
+ */
331
+ techRecord_axles?: [TRLAxles, ...TRLAxles[]];
346
332
  techRecord_hiddenInVta?: null | boolean;
347
333
  techRecord_updateType?: null | string;
348
334
  techRecord_authIntoService_cocIssueDate?: string | null;
@@ -358,6 +344,24 @@ export interface TRLPlates {
358
344
  plateReasonForIssue?: null | PlateReasonForIssue;
359
345
  plateIssuer?: string | null;
360
346
  }
347
+ export interface TRLAxles {
348
+ parkingBrakeMrk: boolean;
349
+ axleNumber?: number | null;
350
+ brakes_brakeActuator: number;
351
+ brakes_leverLength: number;
352
+ brakes_springBrakeParking?: null | boolean;
353
+ weights_gbWeight: number;
354
+ weights_eecWeight?: number | null;
355
+ weights_designWeight: number;
356
+ weights_ladenWeight?: number | null;
357
+ weights_kerbWeight?: number | null;
358
+ tyres_tyreCode: number;
359
+ tyres_tyreSize: string;
360
+ tyres_plyRating?: string | null;
361
+ tyres_fitmentCode: FitmentCode;
362
+ tyres_dataTrAxles?: null | number;
363
+ tyres_speedCategorySymbol?: SpeedCategorySymbol | null;
364
+ }
361
365
  export interface AxleSpacing {
362
366
  axles?: string;
363
367
  value?: number | null;
@@ -308,6 +308,7 @@ export interface TRLAxles {
308
308
  brakes_springBrakeParking?: null | boolean;
309
309
  weights_gbWeight?: number | null;
310
310
  weights_designWeight?: number | null;
311
+ weights_eecWeight?: number | null;
311
312
  weights_ladenWeight?: number | null;
312
313
  weights_kerbWeight?: number | null;
313
314
  tyres_tyreCode?: number | null;
@@ -324,6 +324,7 @@ export interface TRLAxles {
324
324
  brakes_springBrakeParking?: null | boolean;
325
325
  weights_gbWeight?: number | null;
326
326
  weights_designWeight?: number | null;
327
+ weights_eecWeight?: number | null;
327
328
  weights_ladenWeight?: number | null;
328
329
  weights_kerbWeight?: number | null;
329
330
  tyres_tyreCode?: number | null;
@@ -198,7 +198,10 @@ export interface TechRecordPUTHGVComplete {
198
198
  techRecord_applicantDetails_telephoneNumber?: null | string;
199
199
  techRecord_applicantDetails_emailAddress?: null | string;
200
200
  techRecord_applicationId?: null | string;
201
- techRecord_axles: HGVAxles[];
201
+ /**
202
+ * @minItems 1
203
+ */
204
+ techRecord_axles: [HGVAxles, ...HGVAxles[]];
202
205
  techRecord_bodyType_code: string;
203
206
  techRecord_bodyType_description: string;
204
207
  techRecord_brakes_antilockBrakingSystem?: string | null;
@@ -232,7 +235,6 @@ export interface TechRecordPUTHGVComplete {
232
235
  techRecord_microfilm_microfilmRollNumber?: string | null;
233
236
  techRecord_microfilm_microfilmSerialNumber?: string | null;
234
237
  techRecord_model: string;
235
- techRecord_numberOfWheelsDriven: number;
236
238
  techRecord_noOfAxles?: number | null;
237
239
  techRecord_notes: string;
238
240
  techRecord_offRoad: boolean;
@@ -264,13 +266,13 @@ export interface TechRecordPUTHGVComplete {
264
266
  export interface HGVAxles {
265
267
  parkingBrakeMrk?: boolean;
266
268
  axleNumber?: number;
267
- weights_gbWeight?: number;
268
- weights_designWeight?: number;
269
+ weights_gbWeight: number;
270
+ weights_designWeight: number;
269
271
  weights_eecWeight?: number | null;
270
- tyres_tyreCode?: number;
271
- tyres_tyreSize?: string;
272
+ tyres_tyreCode: number;
273
+ tyres_tyreSize: string;
272
274
  tyres_plyRating?: string | null;
273
- tyres_fitmentCode?: FitmentCode;
275
+ tyres_fitmentCode: FitmentCode;
274
276
  tyres_dataTrAxles?: null | number;
275
277
  }
276
278
  export interface AxleSpacing {
@@ -232,7 +232,6 @@ export interface TechRecordPUTHGVSkeleton {
232
232
  techRecord_microfilm_microfilmRollNumber?: string | null;
233
233
  techRecord_microfilm_microfilmSerialNumber?: string | null;
234
234
  techRecord_model?: string | null;
235
- techRecord_numberOfWheelsDriven?: number | null;
236
235
  techRecord_noOfAxles?: number | null;
237
236
  techRecord_notes?: string | null;
238
237
  techRecord_offRoad?: boolean | null;
@@ -232,7 +232,6 @@ export interface TechRecordPUTHGVTestable {
232
232
  techRecord_microfilm_microfilmRollNumber?: string | null;
233
233
  techRecord_microfilm_microfilmSerialNumber?: string | null;
234
234
  techRecord_model?: string | null;
235
- techRecord_numberOfWheelsDriven: number;
236
235
  techRecord_noOfAxles?: number | null;
237
236
  techRecord_notes?: string | null;
238
237
  techRecord_offRoad?: boolean | null;
@@ -256,7 +256,7 @@ export interface TechRecordPUTTRLComplete {
256
256
  techRecord_dimensions_width: number | null;
257
257
  drawbarCouplingFitted?: null | string;
258
258
  techRecord_emissionsLimit?: null | number;
259
- techRecord_euVehicleCategory?: EUVehicleCategory | null;
259
+ techRecord_euVehicleCategory: EUVehicleCategory;
260
260
  techRecord_euroStandard?: null | EuroStandard;
261
261
  frontAxleTo5thWheelMax?: number | null;
262
262
  techRecord_frontAxleTo5thWheelMin?: number | null;
@@ -318,7 +318,10 @@ export interface TechRecordPUTTRLComplete {
318
318
  techRecord_vehicleType: "trl";
319
319
  trailerId?: string;
320
320
  vin: string;
321
- techRecord_axles?: null | TRLAxles[];
321
+ /**
322
+ * @minItems 1
323
+ */
324
+ techRecord_axles?: [TRLAxles, ...TRLAxles[]];
322
325
  techRecord_hiddenInVta?: null | boolean;
323
326
  techRecord_updateType?: null | string;
324
327
  techRecord_authIntoService_cocIssueDate?: string | null;
@@ -335,19 +338,20 @@ export interface TRLPlates {
335
338
  plateIssuer?: string | null;
336
339
  }
337
340
  export interface TRLAxles {
338
- parkingBrakeMrk?: boolean | null;
341
+ parkingBrakeMrk: boolean;
339
342
  axleNumber?: number | null;
340
- brakes_brakeActuator?: null | number;
341
- brakes_leverLength?: null | number;
343
+ brakes_brakeActuator: number;
344
+ brakes_leverLength: number;
342
345
  brakes_springBrakeParking?: null | boolean;
343
- weights_gbWeight?: number | null;
344
- weights_designWeight?: number | null;
346
+ weights_gbWeight: number;
347
+ weights_eecWeight?: number | null;
348
+ weights_designWeight: number;
345
349
  weights_ladenWeight?: number | null;
346
350
  weights_kerbWeight?: number | null;
347
- tyres_tyreCode?: number | null;
348
- tyres_tyreSize?: string | null;
351
+ tyres_tyreCode: number;
352
+ tyres_tyreSize: string;
349
353
  tyres_plyRating?: string | null;
350
- tyres_fitmentCode?: null | FitmentCode;
354
+ tyres_fitmentCode: FitmentCode;
351
355
  tyres_dataTrAxles?: null | number;
352
356
  tyres_speedCategorySymbol?: SpeedCategorySymbol | null;
353
357
  }
@@ -312,6 +312,7 @@ export interface TRLAxles {
312
312
  brakes_leverLength?: null | number;
313
313
  brakes_springBrakeParking?: null | boolean;
314
314
  weights_gbWeight?: number | null;
315
+ weights_eecWeight?: number | null;
315
316
  weights_designWeight?: number | null;
316
317
  weights_ladenWeight?: number | null;
317
318
  weights_kerbWeight?: number | null;
@@ -324,6 +324,7 @@ export interface TRLAxles {
324
324
  brakes_leverLength?: null | number;
325
325
  brakes_springBrakeParking?: null | boolean;
326
326
  weights_gbWeight?: number | null;
327
+ weights_eecWeight?: number | null;
327
328
  weights_designWeight?: number | null;
328
329
  weights_ladenWeight?: number | null;
329
330
  weights_kerbWeight?: number | null;