@dvsa/cvs-type-definitions 3.0.13 → 3.0.14

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,18 +1273,12 @@
1283
1273
  ]
1284
1274
  },
1285
1275
  "weights_gbWeight": {
1286
- "type": [
1287
- "integer",
1288
- "null"
1289
- ],
1276
+ "type": "integer",
1290
1277
  "minimum": 0,
1291
1278
  "maximum": 99999
1292
1279
  },
1293
1280
  "weights_designWeight": {
1294
- "type": [
1295
- "integer",
1296
- "null"
1297
- ],
1281
+ "type": "integer",
1298
1282
  "minimum": 0,
1299
1283
  "maximum": 99999
1300
1284
  },
@@ -1315,18 +1299,12 @@
1315
1299
  "maximum": 99999
1316
1300
  },
1317
1301
  "tyres_tyreCode": {
1318
- "type": [
1319
- "integer",
1320
- "null"
1321
- ],
1302
+ "type": "integer",
1322
1303
  "minimum": 0,
1323
1304
  "maximum": 99999
1324
1305
  },
1325
1306
  "tyres_tyreSize": {
1326
- "type": [
1327
- "string",
1328
- "null"
1329
- ],
1307
+ "type": "string",
1330
1308
  "maxLength": 12
1331
1309
  },
1332
1310
  "tyres_plyRating": {
@@ -1336,18 +1314,11 @@
1336
1314
  ]
1337
1315
  },
1338
1316
  "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
- }
1317
+ "title": "Fitment Code",
1318
+ "type": "string",
1319
+ "enum": [
1320
+ "single",
1321
+ "double"
1351
1322
  ]
1352
1323
  },
1353
1324
  "tyres_dataTrAxles": {
@@ -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,18 +1244,12 @@
1251
1244
  ]
1252
1245
  },
1253
1246
  "weights_gbWeight": {
1254
- "type": [
1255
- "integer",
1256
- "null"
1257
- ],
1247
+ "type": "integer",
1258
1248
  "minimum": 0,
1259
1249
  "maximum": 99999
1260
1250
  },
1261
1251
  "weights_designWeight": {
1262
- "type": [
1263
- "integer",
1264
- "null"
1265
- ],
1252
+ "type": "integer",
1266
1253
  "minimum": 0,
1267
1254
  "maximum": 99999
1268
1255
  },
@@ -1283,18 +1270,12 @@
1283
1270
  "maximum": 99999
1284
1271
  },
1285
1272
  "tyres_tyreCode": {
1286
- "type": [
1287
- "integer",
1288
- "null"
1289
- ],
1273
+ "type": "integer",
1290
1274
  "minimum": 0,
1291
1275
  "maximum": 99999
1292
1276
  },
1293
1277
  "tyres_tyreSize": {
1294
- "type": [
1295
- "string",
1296
- "null"
1297
- ],
1278
+ "type": "string",
1298
1279
  "maxLength": 12
1299
1280
  },
1300
1281
  "tyres_plyRating": {
@@ -1304,18 +1285,11 @@
1304
1285
  ]
1305
1286
  },
1306
1287
  "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
- }
1288
+ "title": "Fitment Code",
1289
+ "type": "string",
1290
+ "enum": [
1291
+ "single",
1292
+ "double"
1319
1293
  ]
1320
1294
  },
1321
1295
  "tyres_dataTrAxles": {
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.14",
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,23 @@ 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_designWeight: number;
355
+ weights_ladenWeight?: number | null;
356
+ weights_kerbWeight?: number | null;
357
+ tyres_tyreCode: number;
358
+ tyres_tyreSize: string;
359
+ tyres_plyRating?: string | null;
360
+ tyres_fitmentCode: FitmentCode;
361
+ tyres_dataTrAxles?: null | number;
362
+ tyres_speedCategorySymbol?: SpeedCategorySymbol | null;
363
+ }
361
364
  export interface AxleSpacing {
362
365
  axles?: string;
363
366
  value?: 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,19 @@ 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_designWeight: number;
345
348
  weights_ladenWeight?: number | null;
346
349
  weights_kerbWeight?: number | null;
347
- tyres_tyreCode?: number | null;
348
- tyres_tyreSize?: string | null;
350
+ tyres_tyreCode: number;
351
+ tyres_tyreSize: string;
349
352
  tyres_plyRating?: string | null;
350
- tyres_fitmentCode?: null | FitmentCode;
353
+ tyres_fitmentCode: FitmentCode;
351
354
  tyres_dataTrAxles?: null | number;
352
355
  tyres_speedCategorySymbol?: SpeedCategorySymbol | null;
353
356
  }