{
	"title": "Test Result Cat AM2 Schema",
	"type": "object",
	"definitions": {
		"gearboxCategory": {
			"description": "The type of gearbox",
			"type": "string",
			"enum": [
				"Manual",
				"Automatic"
			]
		},
		"eyesightTest": {
			"type": "object",
			"properties": {
				"complete": {
					"type": "boolean"
				},
				"seriousFault": {
					"description": "Whether the candidate has failed the eyesight test",
					"type": "boolean"
				},
				"faultComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				}
			},
			"additionalProperties": false
		},
		"independentDriving": {
			"description": "Method chosen to conduct the independent driving section of the test",
			"type": "string",
			"enum": [
				"Sat nav",
				"Diagram",
				"Traffic signs",
				"N/A"
			]
		},
		"modeOfTransport": {
			"description": "Method of transportation the driving examiner conducted the test on",
			"type": "string",
			"enum": [
				"Bike to bike",
				"Car to bike",
				"N/A"
			]
		},
		"identification": {
			"description": "Indicates which form of ID was provided by the candidate",
			"type": "string",
			"enum": [
				"Licence",
				"Passport"
			]
		},
		"weatherConditions": {
			"description": "Predefined values for the type of weather encountered during the test",
			"type": "string",
			"enum": [
				"Bright / dry roads",
				"Bright / wet roads",
				"Raining through test",
				"Showers",
				"Foggy / misty",
				"Dull / wet roads",
				"Dull / dry roads",
				"Snowing",
				"Icy",
				"Windy"
			]
		},
		"signature": {
			"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
			"type": "string"
		},
		"journalData": {
			"description": "Data brought through from the journal",
			"type": "object",
			"properties": {
				"examiner": {
					"description": "The examiner details",
					"type": "object",
					"properties": {
						"staffNumber": {
							"description": "The examiner's DSA staff number",
							"type": "string",
							"maxLength": 10
						},
						"individualId": {
							"description": "The individual ID of the examiner",
							"type": "number"
						}
					},
					"additionalProperties": false,
					"required": [
						"staffNumber"
					]
				},
				"testCentre": {
					"description": "Details of the test centre",
					"type": "object",
					"properties": {
						"centreId": {
							"description": "Identifer for the test centre",
							"type": "integer"
						},
						"costCode": {
							"description": "Cost centre code for the test centre",
							"type": "string",
							"maxLength": 6
						},
						"centreName": {
							"description": "Name of the test centre",
							"type": "string",
							"maxLength": 50
						}
					},
					"additionalProperties": false,
					"required": [
						"costCode"
					]
				},
				"testSlotAttributes": {
					"description": "The additional attributes of the test slot such as Slot Id, Category, Start Time, etc.",
					"type": "object",
					"properties": {
						"slotId": {
							"description": "Unique identifier for the journal test slot",
							"type": "integer"
						},
						"start": {
							"description": "Start time of the test slot",
							"type": "string",
							"minLength": 19,
							"maxLength": 19
						},
						"vehicleTypeCode": {
							"description": "A short alpha (and sometimes numeric) code describing the vehicle type in vehicle slot type",
							"type": "string",
							"minLength": 1,
							"maxLength": 2
						},
						"welshTest": {
							"description": "Whether the test is to be conducted using the welsh language",
							"type": "boolean"
						},
						"specialNeedsCode": {
							"description": "Special needs code",
							"type": "string",
							"enum": [
								"NONE",
								"YES",
								"EXTRA"
							]
						},
						"specialNeeds": {
							"description": "Whether the candidate has any special needs that require the D255 form to be completed",
							"type": "boolean"
						},
						"specialNeedsArray": {
							"description": "The special needs",
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						"specialNeedsExtendedTest": {
							"description": "Whether the candidate requires an extended test due to special needs",
							"type": "boolean"
						},
						"extendedTest": {
							"description": "Whether this is an extended test",
							"type": "boolean"
						},
						"examinerVisiting": {
							"description": "Whether the examiner conducting the test slot is visiting a test centre that's not their home test centre",
							"type": "boolean"
						},
						"entitlementCheck": {
							"description": "Indicates whether the examiner needs to check the candidates entitlement evidence(e.g. test application has not been checked with DVLA)",
							"type": "boolean"
						},
						"fitMarker": {
							"description": "Indicates whether the candidate has previously had a fraud marker set against them",
							"type": "boolean"
						},
						"fitCaseNumber": {
							"description": "The integrity case number associated to the candidate",
							"type": "string"
						},
						"categoryEntitlementCheck": {
							"description": "Indicates whether the examiner needs to check the candidates entitlement based on new legislation around booking vocational categories",
							"type": "boolean"
						},
						"previousCancellation": {
							"description": "The details of any previous test cancellations",
							"type": "array",
							"items": {
								"description": "The reason for the previous test cancellation",
								"type": "string",
								"enum": [
									"Act of nature",
									"DSA"
								],
								"maxLength": 15
							}
						},
						"slotType": {
							"description": "A description of the types of test intended to be conducted in this slot (e.g. Standard Test / Extended Special Needs Test)",
							"type": "string"
						}
					},
					"additionalProperties": false,
					"required": [
						"start",
						"vehicleTypeCode",
						"welshTest",
						"specialNeeds",
						"extendedTest"
					]
				},
				"candidate": {
					"description": "Details of the candidate booked into the test slot",
					"type": "object",
					"properties": {
						"candidateId": {
							"description": "The id of the test candidate",
							"type": "integer"
						},
						"candidateName": {
							"description": "Details of the individual's name",
							"type": "object",
							"properties": {
								"title": {
									"description": "The individual's title",
									"type": "string",
									"maxLength": 7
								},
								"firstName": {
									"description": "The individual's forename",
									"type": "string",
									"maxLength": 50
								},
								"secondName": {
									"description": "The individual's second name",
									"type": "string",
									"maxLength": 50
								},
								"thirdName": {
									"description": "The individual's third name",
									"type": "string",
									"maxLength": 50
								},
								"lastName": {
									"description": "The individual's surname",
									"type": "string",
									"maxLength": 50
								}
							},
							"additionalProperties": false
						},
						"driverNumber": {
							"description": "The candidate's driver number, typically (though not always) 16 characters if UK, or 8 digits if NI",
							"type": "string",
							"maxLength": 24
						},
						"dateOfBirth": {
							"description": "The candidate's date of birth, formatted as an ISO 8601 date (YYYY-MM-DD)",
							"type": "string",
							"minLength": 10,
							"maxLength": 10
						},
						"gender": {
							"description": "The gender of an individual, limited to 'M' or 'F' as per TARS master data",
							"type": "string",
							"enum": [
								"M",
								"F"
							]
						},
						"candidateAddress": {
							"description": "Details of the address",
							"type": "object",
							"properties": {
								"addressLine1": {
									"description": "First line of address",
									"type": "string",
									"maxLength": 255
								},
								"addressLine2": {
									"description": "Second line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine3": {
									"description": "Third line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine4": {
									"description": "Fourth line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine5": {
									"description": "Fifth line of address",
									"type": "string",
									"maxLength": 255
								},
								"postcode": {
									"description": "The address postcode",
									"type": "string",
									"maxLength": 255
								}
							},
							"additionalProperties": false
						},
						"primaryTelephone": {
							"description": "The candidate's primary telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 20
						},
						"secondaryTelephone": {
							"description": "The candidate's secondary telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 20
						},
						"mobileTelephone": {
							"description": "The candidate's mobile telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 30
						},
						"emailAddress": {
							"description": "The candidate's email address, if any",
							"type": "string",
							"maxLength": 100
						},
						"prn": {
							"description": "The candidate's ADI PRN (potential register number), if an ADI test",
							"type": "integer"
						},
						"previousADITests": {
							"description": "The number of previous test attempts, if an ADI test",
							"type": "integer"
						},
						"ethnicityCode": {
							"description": "A character between A and G representing different categories of ethnicity",
							"type": "string",
							"minLength": 1,
							"maxLength": 1
						}
					},
					"additionalProperties": false
				},
				"applicationReference": {
					"description": "The full application identifier, including applicationId, bookingSequence and checkDigit",
					"type": "object",
					"properties": {
						"bookingReference": {
							"description": "Unique identifier for bookings from DSP",
							"type": "string"
						},
						"applicationId": {
							"description": "Unique identifier for each test application",
							"type": "integer"
						},
						"bookingSequence": {
							"description": "Booking sequence number of the test application",
							"type": "integer"
						},
						"checkDigit": {
							"description": "Reference checksum for the test application",
							"type": "integer"
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false,
			"required": [
				"examiner",
				"testCentre",
				"testSlotAttributes",
				"candidate",
				"applicationReference"
			]
		},
		"activityCode": {
			"description": "Code representing the result of the test",
			"type": "string",
			"enum": [
				"1",
				"2",
				"3",
				"4",
				"5",
				"6",
				"11",
				"20",
				"21",
				"22",
				"23",
				"24",
				"25",
				"26",
				"27",
				"28",
				"32",
				"33",
				"34",
				"35",
				"36",
				"37",
				"38",
				"40",
				"41",
				"51",
				"52",
				"55",
				"58",
				"59",
				"60",
				"61",
				"62",
				"63",
				"64",
				"66",
				"67",
				"68",
				"69",
				"70",
				"71",
				"73",
				"74",
				"75",
				"76",
				"77",
				"78",
				"79",
				"80",
				"81",
				"82",
				"83",
				"88",
				"89"
			]
		},
		"communicationPreferences": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"updatedEmail": {
					"description": "The email address that the candidate agrees their results can be sent to",
					"type": "string",
					"maxLength": 100
				},
				"communicationMethod": {
					"description": "The method of communication by which the candidate agrees to receive their results",
					"type": "string",
					"enum": [
						"Email",
						"Post",
						"Support Centre",
						"Not provided"
					]
				},
				"conductedLanguage": {
					"description": "The language in which a candidate agrees to perform a test",
					"type": "string",
					"enum": [
						"English",
						"Cymraeg",
						"Not provided"
					]
				}
			},
			"required": [
				"conductedLanguage"
			]
		},
		"preTestDeclarations": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"insuranceDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that their test vehicle has a valid insurance policy",
					"type": "boolean"
				},
				"residencyDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that they have lived in the UK for a period acceptable for taking the test",
					"type": "boolean"
				},
				"preTestSignature": {
					"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
					"type": "string"
				},
				"DL196CBTCertNumber": {
					"description": "The number of the DL196 CBT certificate presented by the candidate",
					"type": "string"
				}
			},
			"required": [
				"insuranceDeclarationAccepted",
				"residencyDeclarationAccepted",
				"preTestSignature",
				"mod1CertificateNumber"
			]
		},
		"accompaniment": {
			"description": "Indicators for anybody else overseeing the test",
			"type": "object",
			"properties": {
				"ADI": {
					"description": "Indicates whether the ADI was present during the test",
					"type": "boolean"
				},
				"supervisor": {
					"description": "Indicates whether a DVSA supervisor was present during the test",
					"type": "boolean"
				},
				"interpreter": {
					"description": "Indicates whether an interpreter was present during the test",
					"type": "boolean"
				},
				"other": {
					"description": "Indicates whether another individual was present during the test",
					"type": "boolean"
				}
			},
			"additionalProperties": false
		},
		"postTestDeclarations": {
			"type": "object",
			"properties": {
				"healthDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that their health status hasn't changed since their last application",
					"type": "boolean"
				},
				"passCertificateNumberReceived": {
					"description": "Indicates whether the candidate acknowledges receipt of the PCN",
					"type": "boolean"
				},
				"postTestSignature": {
					"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
					"type": "string"
				}
			},
			"additionalProperties": false
		},
		"testSummary": {
			"description": "Recording of other characteristics of the test",
			"type": "object",
			"properties": {
				"routeNumber": {
					"description": "Number of the route that was taken during the test",
					"type": "integer",
					"const": 88
				},
				"independentDriving": {
					"description": "Method chosen to conduct the independent driving section of the test",
					"type": "string",
					"enum": [
						"Sat nav",
						"Diagram",
						"Traffic signs",
						"N/A"
					]
				},
				"modeOfTransport": {
					"description": "Method of transportation the driving examiner conducted the test on",
					"type": "string",
					"enum": [
						"Bike to bike",
						"Car to bike",
						"N/A"
					]
				},
				"trueLikenessToPhoto": {
					"description": "Physical appearance resembles a true likeness to provided ID",
					"type": "boolean"
				},
				"candidateDescription": {
					"description": "Physical description of the candidate",
					"type": "string",
					"maxLength": 1000
				},
				"debriefWitnessed": {
					"description": "Indicates whether anybody else (e.g. ADI) was present for the debrief",
					"type": "boolean"
				},
				"identification": {
					"description": "Indicates which form of ID was provided by the candidate",
					"type": "string",
					"enum": [
						"Licence",
						"Passport"
					]
				},
				"weatherConditions": {
					"description": "Description of the type of weather encountered during the test",
					"type": "array",
					"items": {
						"description": "Predefined values for the type of weather encountered during the test",
						"type": "string",
						"enum": [
							"Bright / dry roads",
							"Bright / wet roads",
							"Raining through test",
							"Showers",
							"Foggy / misty",
							"Dull / wet roads",
							"Dull / dry roads",
							"Snowing",
							"Icy",
							"Windy"
						]
					}
				},
				"D255": {
					"description": "Indicates whether a D255 form needs to be completed",
					"type": "boolean"
				},
				"additionalInformation": {
					"description": "Any comments that the DE wants to record about the test",
					"type": "string"
				}
			},
			"additionalProperties": false
		},
		"rekeyReason": {
			"description": "Recording of the rekey reason",
			"type": "object",
			"properties": {
				"transfer": {
					"description": "Recording of if a rekey was due to a transfer",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"ipadIssue": {
					"description": "Recording of if a rekey was due to a iPad issue",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						},
						"technicalFault": {
							"description": "If the iPad was not used due to a technical fault",
							"type": "boolean"
						},
						"lost": {
							"description": "If the iPad was not used as it has been lost",
							"type": "boolean"
						},
						"stolen": {
							"description": "If the iPad was not used as it has been stolen",
							"type": "boolean"
						},
						"broken": {
							"description": "If the iPad was not used as it is broken",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"other": {
					"description": "Recording of if a rekey was due to a different reason",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						},
						"reason": {
							"description": "The reason this option was selected",
							"type": "string"
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false
		},
		"passCompletion": {
			"description": "Finalisation of a successful test outcome",
			"type": "object",
			"properties": {
				"provisionalLicenceProvided": {
					"description": "Indicates whether the candidate submitted their provisional driving licence",
					"type": "boolean"
				},
				"passCertificateNumber": {
					"description": "The PCN issued to the candidate",
					"type": "string",
					"maxLength": 8,
					"minLength": 8
				}
			},
			"additionalProperties": false,
			"required": [
				"provisionalLicenceProvided",
				"passCertificateNumber"
			]
		},
		"categoryCode": {
			"description": "Category code for the test report",
			"type": "string",
			"enum": [
				"A",
				"A1",
				"A2",
				"ADI2",
				"ADI3",
				"AM",
				"B",
				"B1",
				"B+E",
				"C",
				"C1",
				"C1+E",
				"C1+EM",
				"C1M",
				"CCPC",
				"C+E",
				"C+EM",
				"CM",
				"D",
				"D1",
				"D1+E",
				"D1+EM",
				"D1M",
				"DCPC",
				"D+E",
				"D+EM",
				"DM",
				"EUA1M1",
				"EUA1M2",
				"EUA2M1",
				"EUA2M2",
				"EUAM1",
				"EUAM2",
				"EUAMM1",
				"EUAMM2",
				"F",
				"G",
				"H",
				"K",
				"SC"
			]
		},
		"faultComments": {
			"description": "Comments recorded against a fault",
			"type": "string",
			"maxLength": 1000
		},
		"drivingFaultCount": {
			"description": "The count of the number of driving faults recorded against a test element",
			"type": "integer"
		},
		"ETA": {
			"description": "Indicates whether the examiner had to take verbal action during the test",
			"type": "object",
			"properties": {
				"verbal": {
					"description": "Indicates that the examiner had to take verbal action",
					"type": "boolean"
				}
			},
			"additionalProperties": false
		},
		"eco": {
			"description": "Assessment of the eco friendly manner of driving",
			"type": "object",
			"properties": {
				"completed": {
					"description": "Indicates that the eco friendly manner of driving has been assessed",
					"type": "boolean"
				},
				"adviceGivenControl": {
					"description": "Indicates that advice was given on the Control aspect of eco driving",
					"type": "boolean"
				},
				"adviceGivenPlanning": {
					"description": "Indicates that advice was given on the Planning aspect of eco driving",
					"type": "boolean"
				},
				"ecoRelatedFault": {
					"description": "Fault that relates to the Eco selection",
					"type": "string"
				},
				"ecoCaptureReason": {
					"description": "Reason for Eco capture",
					"type": "string"
				},
				"fuelEfficientDriving": {
					"description": "Whether the candidate exemplified efficient driving",
					"type": "boolean"
				}
			},
			"additionalProperties": false
		},
		"drivingFaults": {
			"description": "The driving faults accumulated during the test",
			"type": "object",
			"properties": {
				"controlsThrottle": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsThrottleComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsClutch": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsClutchComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsGears": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsGearsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsFrontBrake": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsFrontBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsRearBrake": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsRearBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsSteering": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsSteeringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsBalanceSlowControl": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"controlsBalanceSlowControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"ancillaryControls": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"ancillaryControlsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"precautions": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"precautionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffSafety": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"moveOffSafetyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffControl": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"moveOffControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsSignalling": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"useOfMirrorsSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeDirection": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"useOfMirrorsChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeSpeed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"useOfMirrorsChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsNecessary": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"signalsNecessaryComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsCorrectly": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"signalsCorrectlyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsTimed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"signalsTimedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsApproachSpeed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"junctionsApproachSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsObservation": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"junctionsObservationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningRight": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"junctionsTurningRightComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningLeft": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"junctionsTurningLeftComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsCuttingCorners": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"junctionsCuttingCornersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertaking": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"judgementOvertakingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementMeeting": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"judgementMeetingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementCrossing": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"judgementCrossingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningNormalDriving": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"positioningNormalDrivingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningLaneDiscipline": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"positioningLaneDisciplineComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"clearanceOrObstructions": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"clearanceOrObstructionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"followingDistance": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"followingDistanceComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfSpeed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"useOfSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressAppropriateSpeed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"progressAppropriateSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressUndueHesitation": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"progressUndueHesitationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficSigns": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"responseToSignsTrafficSignsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsRoadMarkings": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"responseToSignsRoadMarkingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficLights": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"responseToSignsTrafficLightsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficControllers": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"responseToSignsTrafficControllersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsOtherRoadUsers": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"responseToSignsOtherRoadUsersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"pedestrianCrossings": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"pedestrianCrossingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalStops": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"positionNormalStopsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"awarenessPlanning": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"awarenessPlanningComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"bends": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"bendsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationSignalling": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"rearObservationSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeDirection": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"rearObservationChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeSpeed": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"rearObservationChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalRiding": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"positionNormalRidingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertakingFiltering": {
					"description": "The count of the number of driving faults recorded against a test element",
					"type": "integer"
				},
				"judgementOvertakingFilteringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				}
			},
			"additionalProperties": false
		},
		"seriousFaultIndicator": {
			"description": "Indicator for a serious fault being recorded against a test element",
			"type": "boolean"
		},
		"seriousFaults": {
			"description": "The serious faults accumulated during the test",
			"type": "object",
			"properties": {
				"controlsThrottle": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsThrottleComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsClutch": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsClutchComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsGears": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsGearsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsFrontBrake": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsFrontBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsRearBrake": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsRearBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsSteering": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsSteeringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsBalanceSlowControl": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsBalanceSlowControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"ancillaryControls": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"ancillaryControlsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"precautions": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"precautionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffSafety": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"moveOffSafetyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffControl": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"moveOffControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsSignalling": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeDirection": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeSpeed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsNecessary": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsNecessaryComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsCorrectly": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsCorrectlyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsTimed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsTimedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsApproachSpeed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsApproachSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsObservation": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsObservationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningRight": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsTurningRightComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningLeft": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsTurningLeftComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsCuttingCorners": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsCuttingCornersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertaking": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementOvertakingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementMeeting": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementMeetingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementCrossing": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementCrossingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningNormalDriving": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"positioningNormalDrivingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningLaneDiscipline": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"positioningLaneDisciplineComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"clearanceOrObstructions": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"clearanceOrObstructionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"followingDistance": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"followingDistanceComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfSpeed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressAppropriateSpeed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"progressAppropriateSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressUndueHesitation": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"progressUndueHesitationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficSigns": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficSignsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsRoadMarkings": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsRoadMarkingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficLights": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficLightsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficControllers": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficControllersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsOtherRoadUsers": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsOtherRoadUsersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"pedestrianCrossings": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"pedestrianCrossingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalStops": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"positionNormalStopsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"awarenessPlanning": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"awarenessPlanningComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"bends": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"bendsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationSignalling": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeDirection": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeSpeed": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalRiding": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"positionNormalRidingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertakingFiltering": {
					"description": "Indicator for a serious fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementOvertakingFilteringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				}
			},
			"additionalProperties": false
		},
		"dangerousFaults": {
			"description": "The dangerous faults accumulated during the test",
			"type": "object",
			"properties": {
				"controlsThrottle": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsThrottleComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsClutch": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsClutchComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsGears": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsGearsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsFrontBrake": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsFrontBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsRearBrake": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsRearBrakeComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsSteering": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsSteeringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"controlsBalanceSlowControl": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"controlsBalanceSlowControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"ancillaryControls": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"ancillaryControlsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"precautions": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"precautionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffSafety": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"moveOffSafetyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"moveOffControl": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"moveOffControlComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsSignalling": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeDirection": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfMirrorsChangeSpeed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfMirrorsChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsNecessary": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsNecessaryComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsCorrectly": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsCorrectlyComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"signalsTimed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"signalsTimedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsApproachSpeed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsApproachSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsObservation": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsObservationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningRight": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsTurningRightComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsTurningLeft": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsTurningLeftComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"junctionsCuttingCorners": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"junctionsCuttingCornersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertaking": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementOvertakingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementMeeting": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementMeetingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementCrossing": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementCrossingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningNormalDriving": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"positioningNormalDrivingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positioningLaneDiscipline": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"positioningLaneDisciplineComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"clearanceOrObstructions": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"clearanceOrObstructionsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"followingDistance": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"followingDistanceComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"useOfSpeed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"useOfSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressAppropriateSpeed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"progressAppropriateSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"progressUndueHesitation": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"progressUndueHesitationComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficSigns": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficSignsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsRoadMarkings": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsRoadMarkingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficLights": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficLightsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsTrafficControllers": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsTrafficControllersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"responseToSignsOtherRoadUsers": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"responseToSignsOtherRoadUsersComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"pedestrianCrossings": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"pedestrianCrossingsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalStops": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"positionNormalStopsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"awarenessPlanning": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"awarenessPlanningComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"bends": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"bendsComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationSignalling": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationSignallingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeDirection": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationChangeDirectionComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"rearObservationChangeSpeed": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"rearObservationChangeSpeedComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"positionNormalRiding": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"positionNormalRidingComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"judgementOvertakingFiltering": {
					"description": "Indicator for a dangerous fault being recorded against a test element",
					"type": "boolean"
				},
				"judgementOvertakingFilteringComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				}
			},
			"additionalProperties": false
		},
		"dangerousFaultIndicator": {
			"description": "Indicator for a dangerous fault being recorded against a test element",
			"type": "boolean"
		},
		"schoolBike": {
			"description": "Indicates whether the bike belongs to a driving school",
			"type": "boolean"
		},
		"questionResult": {
			"description": "Result of a vehicle checks question",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"code": {
					"description": "Code representing the question that was asked",
					"type": "string"
				},
				"description": {
					"description": "Description of the question that was asked",
					"type": "string"
				},
				"outcome": {
					"description": "Outcome of the question that was asked",
					"type": "string",
					"enum": [
						"P",
						"DF",
						"S",
						"D"
					]
				}
			}
		},
		"vehicleDetails": {
			"additionalProperties": false,
			"type": "object",
			"properties": {
				"registrationNumber": {
					"description": "The vehicle registration number",
					"type": "string",
					"maxLength": 7
				},
				"motStatus": {
					"description": "The mot status of the vehicle",
					"type": "string"
				},
				"motEvidenceProvided": {
					"description": "Marker stating if alternative MOT evidence was provided",
					"type": "boolean"
				},
				"motEvidence": {
					"description": "Alternative MOT evidence",
					"type": "string"
				},
				"make": {
					"description": "The make of the vehicle",
					"type": "string"
				},
				"model": {
					"description": "The model of the vehicle",
					"type": "string"
				},
				"testExpiryDate": {
					"description": "The test expiry date of the vehicle",
					"type": "string"
				},
				"previouslySearchedRegNumbers": {
					"description": "Previously searched for registration numbers",
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"schoolBike": {
					"description": "Indicates whether the bike belongs to a driving school",
					"type": "boolean"
				},
				"gearboxCategory": {
					"description": "The type of gearbox",
					"type": "string",
					"enum": [
						"Manual",
						"Automatic"
					]
				}
			}
		},
		"safetyAndBalanceQuestions": {
			"additionalProperties": false,
			"description": "Details of the safety and balance questions asked during the test",
			"properties": {
				"safetyQuestions": {
					"items": {
						"description": "Result of a vehicle checks question",
						"type": "object",
						"additionalProperties": false,
						"properties": {
							"code": {
								"description": "Code representing the question that was asked",
								"type": "string"
							},
							"description": {
								"description": "Description of the question that was asked",
								"type": "string"
							},
							"outcome": {
								"description": "Outcome of the question that was asked",
								"type": "string",
								"enum": [
									"P",
									"DF",
									"S",
									"D"
								]
							}
						}
					},
					"type": "array"
				},
				"safetyAndBalanceComments": {
					"description": "Comments recorded against a fault",
					"type": "string",
					"maxLength": 1000
				},
				"balanceQuestions": {
					"items": {
						"description": "Result of a vehicle checks question",
						"type": "object",
						"additionalProperties": false,
						"properties": {
							"code": {
								"description": "Code representing the question that was asked",
								"type": "string"
							},
							"description": {
								"description": "Description of the question that was asked",
								"type": "string"
							},
							"outcome": {
								"description": "Outcome of the question that was asked",
								"type": "string",
								"enum": [
									"P",
									"DF",
									"S",
									"D"
								]
							}
						}
					},
					"type": "array"
				}
			},
			"type": "object"
		},
		"testRequirements": {
			"description": "The test requirements that must be carried out during a test",
			"type": "object",
			"properties": {
				"normalStart1": {
					"description": "Indicates whether or not this test requirement was carried out",
					"type": "boolean"
				},
				"normalStart2": {
					"description": "Indicates whether or not this test requirement was carried out",
					"type": "boolean"
				},
				"angledStart": {
					"description": "Indicates whether or not this test requirement was carried out",
					"type": "boolean"
				},
				"hillStart": {
					"description": "Indicates whether or not this test requirement was carried out",
					"type": "boolean"
				}
			},
			"additionalProperties": false
		},
		"testData": {
			"description": "Data associated with the test",
			"type": "object",
			"properties": {
				"testRequirements": {
					"description": "The test requirements that must be carried out during a test",
					"type": "object",
					"properties": {
						"normalStart1": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"normalStart2": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"angledStart": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"hillStart": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"ETA": {
					"description": "Indicates whether the examiner had to take verbal action during the test",
					"type": "object",
					"properties": {
						"verbal": {
							"description": "Indicates that the examiner had to take verbal action",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"drivingFaults": {
					"description": "The driving faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"seriousFaults": {
					"description": "The serious faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"dangerousFaults": {
					"description": "The dangerous faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"safetyAndBalanceQuestions": {
					"additionalProperties": false,
					"description": "Details of the safety and balance questions asked during the test",
					"properties": {
						"safetyQuestions": {
							"items": {
								"description": "Result of a vehicle checks question",
								"type": "object",
								"additionalProperties": false,
								"properties": {
									"code": {
										"description": "Code representing the question that was asked",
										"type": "string"
									},
									"description": {
										"description": "Description of the question that was asked",
										"type": "string"
									},
									"outcome": {
										"description": "Outcome of the question that was asked",
										"type": "string",
										"enum": [
											"P",
											"DF",
											"S",
											"D"
										]
									}
								}
							},
							"type": "array"
						},
						"safetyAndBalanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"balanceQuestions": {
							"items": {
								"description": "Result of a vehicle checks question",
								"type": "object",
								"additionalProperties": false,
								"properties": {
									"code": {
										"description": "Code representing the question that was asked",
										"type": "string"
									},
									"description": {
										"description": "Description of the question that was asked",
										"type": "string"
									},
									"outcome": {
										"description": "Outcome of the question that was asked",
										"type": "string",
										"enum": [
											"P",
											"DF",
											"S",
											"D"
										]
									}
								}
							},
							"type": "array"
						}
					},
					"type": "object"
				},
				"eco": {
					"description": "Assessment of the eco friendly manner of driving",
					"type": "object",
					"properties": {
						"completed": {
							"description": "Indicates that the eco friendly manner of driving has been assessed",
							"type": "boolean"
						},
						"adviceGivenControl": {
							"description": "Indicates that advice was given on the Control aspect of eco driving",
							"type": "boolean"
						},
						"adviceGivenPlanning": {
							"description": "Indicates that advice was given on the Planning aspect of eco driving",
							"type": "boolean"
						},
						"ecoRelatedFault": {
							"description": "Fault that relates to the Eco selection",
							"type": "string"
						},
						"ecoCaptureReason": {
							"description": "Reason for Eco capture",
							"type": "string"
						},
						"fuelEfficientDriving": {
							"description": "Whether the candidate exemplified efficient driving",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"eyesightTest": {
					"type": "object",
					"properties": {
						"complete": {
							"type": "boolean"
						},
						"seriousFault": {
							"description": "Whether the candidate has failed the eyesight test",
							"type": "boolean"
						},
						"faultComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false
		},
		"DL196CBTCertNumber": {
			"description": "The number of the DL196 CBT certificate presented by the candidate",
			"type": "string"
		}
	},
	"properties": {
		"version": {
			"description": "Version number",
			"type": "string"
		},
		"appVersion": {
			"description": "App version number",
			"type": "string"
		},
		"category": {
			"description": "Category code for the test report",
			"type": "string",
			"enum": [
				"A",
				"A1",
				"A2",
				"ADI2",
				"ADI3",
				"AM",
				"B",
				"B1",
				"B+E",
				"C",
				"C1",
				"C1+E",
				"C1+EM",
				"C1M",
				"CCPC",
				"C+E",
				"C+EM",
				"CM",
				"D",
				"D1",
				"D1+E",
				"D1+EM",
				"D1M",
				"DCPC",
				"D+E",
				"D+EM",
				"DM",
				"EUA1M1",
				"EUA1M2",
				"EUA2M1",
				"EUA2M2",
				"EUAM1",
				"EUAM2",
				"EUAMM1",
				"EUAMM2",
				"F",
				"G",
				"H",
				"K",
				"SC"
			]
		},
		"journalData": {
			"description": "Data brought through from the journal",
			"type": "object",
			"properties": {
				"examiner": {
					"description": "The examiner details",
					"type": "object",
					"properties": {
						"staffNumber": {
							"description": "The examiner's DSA staff number",
							"type": "string",
							"maxLength": 10
						},
						"individualId": {
							"description": "The individual ID of the examiner",
							"type": "number"
						}
					},
					"additionalProperties": false,
					"required": [
						"staffNumber"
					]
				},
				"testCentre": {
					"description": "Details of the test centre",
					"type": "object",
					"properties": {
						"centreId": {
							"description": "Identifer for the test centre",
							"type": "integer"
						},
						"costCode": {
							"description": "Cost centre code for the test centre",
							"type": "string",
							"maxLength": 6
						},
						"centreName": {
							"description": "Name of the test centre",
							"type": "string",
							"maxLength": 50
						}
					},
					"additionalProperties": false,
					"required": [
						"costCode"
					]
				},
				"testSlotAttributes": {
					"description": "The additional attributes of the test slot such as Slot Id, Category, Start Time, etc.",
					"type": "object",
					"properties": {
						"slotId": {
							"description": "Unique identifier for the journal test slot",
							"type": "integer"
						},
						"start": {
							"description": "Start time of the test slot",
							"type": "string",
							"minLength": 19,
							"maxLength": 19
						},
						"vehicleTypeCode": {
							"description": "A short alpha (and sometimes numeric) code describing the vehicle type in vehicle slot type",
							"type": "string",
							"minLength": 1,
							"maxLength": 2
						},
						"welshTest": {
							"description": "Whether the test is to be conducted using the welsh language",
							"type": "boolean"
						},
						"specialNeedsCode": {
							"description": "Special needs code",
							"type": "string",
							"enum": [
								"NONE",
								"YES",
								"EXTRA"
							]
						},
						"specialNeeds": {
							"description": "Whether the candidate has any special needs that require the D255 form to be completed",
							"type": "boolean"
						},
						"specialNeedsArray": {
							"description": "The special needs",
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						"specialNeedsExtendedTest": {
							"description": "Whether the candidate requires an extended test due to special needs",
							"type": "boolean"
						},
						"extendedTest": {
							"description": "Whether this is an extended test",
							"type": "boolean"
						},
						"examinerVisiting": {
							"description": "Whether the examiner conducting the test slot is visiting a test centre that's not their home test centre",
							"type": "boolean"
						},
						"entitlementCheck": {
							"description": "Indicates whether the examiner needs to check the candidates entitlement evidence(e.g. test application has not been checked with DVLA)",
							"type": "boolean"
						},
						"fitMarker": {
							"description": "Indicates whether the candidate has previously had a fraud marker set against them",
							"type": "boolean"
						},
						"fitCaseNumber": {
							"description": "The integrity case number associated to the candidate",
							"type": "string"
						},
						"categoryEntitlementCheck": {
							"description": "Indicates whether the examiner needs to check the candidates entitlement based on new legislation around booking vocational categories",
							"type": "boolean"
						},
						"previousCancellation": {
							"description": "The details of any previous test cancellations",
							"type": "array",
							"items": {
								"description": "The reason for the previous test cancellation",
								"type": "string",
								"enum": [
									"Act of nature",
									"DSA"
								],
								"maxLength": 15
							}
						},
						"slotType": {
							"description": "A description of the types of test intended to be conducted in this slot (e.g. Standard Test / Extended Special Needs Test)",
							"type": "string"
						}
					},
					"additionalProperties": false,
					"required": [
						"start",
						"vehicleTypeCode",
						"welshTest",
						"specialNeeds",
						"extendedTest"
					]
				},
				"candidate": {
					"description": "Details of the candidate booked into the test slot",
					"type": "object",
					"properties": {
						"candidateId": {
							"description": "The id of the test candidate",
							"type": "integer"
						},
						"candidateName": {
							"description": "Details of the individual's name",
							"type": "object",
							"properties": {
								"title": {
									"description": "The individual's title",
									"type": "string",
									"maxLength": 7
								},
								"firstName": {
									"description": "The individual's forename",
									"type": "string",
									"maxLength": 50
								},
								"secondName": {
									"description": "The individual's second name",
									"type": "string",
									"maxLength": 50
								},
								"thirdName": {
									"description": "The individual's third name",
									"type": "string",
									"maxLength": 50
								},
								"lastName": {
									"description": "The individual's surname",
									"type": "string",
									"maxLength": 50
								}
							},
							"additionalProperties": false
						},
						"driverNumber": {
							"description": "The candidate's driver number, typically (though not always) 16 characters if UK, or 8 digits if NI",
							"type": "string",
							"maxLength": 24
						},
						"dateOfBirth": {
							"description": "The candidate's date of birth, formatted as an ISO 8601 date (YYYY-MM-DD)",
							"type": "string",
							"minLength": 10,
							"maxLength": 10
						},
						"gender": {
							"description": "The gender of an individual, limited to 'M' or 'F' as per TARS master data",
							"type": "string",
							"enum": [
								"M",
								"F"
							]
						},
						"candidateAddress": {
							"description": "Details of the address",
							"type": "object",
							"properties": {
								"addressLine1": {
									"description": "First line of address",
									"type": "string",
									"maxLength": 255
								},
								"addressLine2": {
									"description": "Second line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine3": {
									"description": "Third line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine4": {
									"description": "Fourth line of address",
									"type": "string",
									"maxLength": 100
								},
								"addressLine5": {
									"description": "Fifth line of address",
									"type": "string",
									"maxLength": 255
								},
								"postcode": {
									"description": "The address postcode",
									"type": "string",
									"maxLength": 255
								}
							},
							"additionalProperties": false
						},
						"primaryTelephone": {
							"description": "The candidate's primary telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 20
						},
						"secondaryTelephone": {
							"description": "The candidate's secondary telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 20
						},
						"mobileTelephone": {
							"description": "The candidate's mobile telephone number, if any (and consent to leave voicemail has been given)",
							"type": "string",
							"maxLength": 30
						},
						"emailAddress": {
							"description": "The candidate's email address, if any",
							"type": "string",
							"maxLength": 100
						},
						"prn": {
							"description": "The candidate's ADI PRN (potential register number), if an ADI test",
							"type": "integer"
						},
						"previousADITests": {
							"description": "The number of previous test attempts, if an ADI test",
							"type": "integer"
						},
						"ethnicityCode": {
							"description": "A character between A and G representing different categories of ethnicity",
							"type": "string",
							"minLength": 1,
							"maxLength": 1
						}
					},
					"additionalProperties": false
				},
				"applicationReference": {
					"description": "The full application identifier, including applicationId, bookingSequence and checkDigit",
					"type": "object",
					"properties": {
						"bookingReference": {
							"description": "Unique identifier for bookings from DSP",
							"type": "string"
						},
						"applicationId": {
							"description": "Unique identifier for each test application",
							"type": "integer"
						},
						"bookingSequence": {
							"description": "Booking sequence number of the test application",
							"type": "integer"
						},
						"checkDigit": {
							"description": "Reference checksum for the test application",
							"type": "integer"
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false,
			"required": [
				"examiner",
				"testCentre",
				"testSlotAttributes",
				"candidate",
				"applicationReference"
			]
		},
		"activityCode": {
			"description": "Code representing the result of the test",
			"type": "string",
			"enum": [
				"1",
				"2",
				"3",
				"4",
				"5",
				"6",
				"11",
				"20",
				"21",
				"22",
				"23",
				"24",
				"25",
				"26",
				"27",
				"28",
				"32",
				"33",
				"34",
				"35",
				"36",
				"37",
				"38",
				"40",
				"41",
				"51",
				"52",
				"55",
				"58",
				"59",
				"60",
				"61",
				"62",
				"63",
				"64",
				"66",
				"67",
				"68",
				"69",
				"70",
				"71",
				"73",
				"74",
				"75",
				"76",
				"77",
				"78",
				"79",
				"80",
				"81",
				"82",
				"83",
				"88",
				"89"
			]
		},
		"communicationPreferences": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"updatedEmail": {
					"description": "The email address that the candidate agrees their results can be sent to",
					"type": "string",
					"maxLength": 100
				},
				"communicationMethod": {
					"description": "The method of communication by which the candidate agrees to receive their results",
					"type": "string",
					"enum": [
						"Email",
						"Post",
						"Support Centre",
						"Not provided"
					]
				},
				"conductedLanguage": {
					"description": "The language in which a candidate agrees to perform a test",
					"type": "string",
					"enum": [
						"English",
						"Cymraeg",
						"Not provided"
					]
				}
			},
			"required": [
				"conductedLanguage"
			]
		},
		"preTestDeclarations": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"insuranceDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that their test vehicle has a valid insurance policy",
					"type": "boolean"
				},
				"residencyDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that they have lived in the UK for a period acceptable for taking the test",
					"type": "boolean"
				},
				"preTestSignature": {
					"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
					"type": "string"
				},
				"DL196CBTCertNumber": {
					"description": "The number of the DL196 CBT certificate presented by the candidate",
					"type": "string"
				}
			},
			"required": [
				"insuranceDeclarationAccepted",
				"residencyDeclarationAccepted",
				"preTestSignature",
				"mod1CertificateNumber"
			]
		},
		"accompaniment": {
			"description": "Indicators for anybody else overseeing the test",
			"type": "object",
			"properties": {
				"ADI": {
					"description": "Indicates whether the ADI was present during the test",
					"type": "boolean"
				},
				"supervisor": {
					"description": "Indicates whether a DVSA supervisor was present during the test",
					"type": "boolean"
				},
				"interpreter": {
					"description": "Indicates whether an interpreter was present during the test",
					"type": "boolean"
				},
				"other": {
					"description": "Indicates whether another individual was present during the test",
					"type": "boolean"
				}
			},
			"additionalProperties": false
		},
		"postTestDeclarations": {
			"type": "object",
			"properties": {
				"healthDeclarationAccepted": {
					"description": "Whether or not the candidate has declared that their health status hasn't changed since their last application",
					"type": "boolean"
				},
				"passCertificateNumberReceived": {
					"description": "Indicates whether the candidate acknowledges receipt of the PCN",
					"type": "boolean"
				},
				"postTestSignature": {
					"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
					"type": "string"
				}
			},
			"additionalProperties": false
		},
		"testSummary": {
			"description": "Recording of other characteristics of the test",
			"type": "object",
			"properties": {
				"routeNumber": {
					"description": "Number of the route that was taken during the test",
					"type": "integer",
					"const": 88
				},
				"independentDriving": {
					"description": "Method chosen to conduct the independent driving section of the test",
					"type": "string",
					"enum": [
						"Sat nav",
						"Diagram",
						"Traffic signs",
						"N/A"
					]
				},
				"modeOfTransport": {
					"description": "Method of transportation the driving examiner conducted the test on",
					"type": "string",
					"enum": [
						"Bike to bike",
						"Car to bike",
						"N/A"
					]
				},
				"trueLikenessToPhoto": {
					"description": "Physical appearance resembles a true likeness to provided ID",
					"type": "boolean"
				},
				"candidateDescription": {
					"description": "Physical description of the candidate",
					"type": "string",
					"maxLength": 1000
				},
				"debriefWitnessed": {
					"description": "Indicates whether anybody else (e.g. ADI) was present for the debrief",
					"type": "boolean"
				},
				"identification": {
					"description": "Indicates which form of ID was provided by the candidate",
					"type": "string",
					"enum": [
						"Licence",
						"Passport"
					]
				},
				"weatherConditions": {
					"description": "Description of the type of weather encountered during the test",
					"type": "array",
					"items": {
						"description": "Predefined values for the type of weather encountered during the test",
						"type": "string",
						"enum": [
							"Bright / dry roads",
							"Bright / wet roads",
							"Raining through test",
							"Showers",
							"Foggy / misty",
							"Dull / wet roads",
							"Dull / dry roads",
							"Snowing",
							"Icy",
							"Windy"
						]
					}
				},
				"D255": {
					"description": "Indicates whether a D255 form needs to be completed",
					"type": "boolean"
				},
				"additionalInformation": {
					"description": "Any comments that the DE wants to record about the test",
					"type": "string"
				}
			},
			"additionalProperties": false
		},
		"rekeyReason": {
			"description": "Recording of the rekey reason",
			"type": "object",
			"properties": {
				"transfer": {
					"description": "Recording of if a rekey was due to a transfer",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"ipadIssue": {
					"description": "Recording of if a rekey was due to a iPad issue",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						},
						"technicalFault": {
							"description": "If the iPad was not used due to a technical fault",
							"type": "boolean"
						},
						"lost": {
							"description": "If the iPad was not used as it has been lost",
							"type": "boolean"
						},
						"stolen": {
							"description": "If the iPad was not used as it has been stolen",
							"type": "boolean"
						},
						"broken": {
							"description": "If the iPad was not used as it is broken",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"other": {
					"description": "Recording of if a rekey was due to a different reason",
					"type": "object",
					"properties": {
						"selected": {
							"description": "If this option was selected",
							"type": "boolean"
						},
						"reason": {
							"description": "The reason this option was selected",
							"type": "string"
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false
		},
		"rekey": {
			"description": "Whether the test was rekeyed or not",
			"type": "boolean"
		},
		"rekeyDate": {
			"description": "Date the test was rekeyed",
			"type": "string"
		},
		"changeMarker": {
			"description": "Whether the test was conducted by another examiner",
			"type": "boolean"
		},
		"examinerBooked": {
			"description": "The examiner who the test was booked to",
			"type": [
				"number",
				"string"
			]
		},
		"examinerConducted": {
			"description": "The examiner who conducted the test",
			"type": [
				"number",
				"string"
			]
		},
		"examinerKeyed": {
			"description": "The examiner who keyed the test into the iPad",
			"type": "number"
		},
		"passCompletion": {
			"description": "Finalisation of a successful test outcome",
			"type": "object",
			"properties": {
				"provisionalLicenceProvided": {
					"description": "Indicates whether the candidate submitted their provisional driving licence",
					"type": "boolean"
				},
				"passCertificateNumber": {
					"description": "The PCN issued to the candidate",
					"type": "string",
					"maxLength": 8,
					"minLength": 8
				}
			},
			"additionalProperties": false,
			"required": [
				"provisionalLicenceProvided",
				"passCertificateNumber"
			]
		},
		"vehicleDetails": {
			"additionalProperties": false,
			"type": "object",
			"properties": {
				"registrationNumber": {
					"description": "The vehicle registration number",
					"type": "string",
					"maxLength": 7
				},
				"motStatus": {
					"description": "The mot status of the vehicle",
					"type": "string"
				},
				"motEvidenceProvided": {
					"description": "Marker stating if alternative MOT evidence was provided",
					"type": "boolean"
				},
				"motEvidence": {
					"description": "Alternative MOT evidence",
					"type": "string"
				},
				"make": {
					"description": "The make of the vehicle",
					"type": "string"
				},
				"model": {
					"description": "The model of the vehicle",
					"type": "string"
				},
				"testExpiryDate": {
					"description": "The test expiry date of the vehicle",
					"type": "string"
				},
				"previouslySearchedRegNumbers": {
					"description": "Previously searched for registration numbers",
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"schoolBike": {
					"description": "Indicates whether the bike belongs to a driving school",
					"type": "boolean"
				},
				"gearboxCategory": {
					"description": "The type of gearbox",
					"type": "string",
					"enum": [
						"Manual",
						"Automatic"
					]
				}
			}
		},
		"userExitedApp": {
			"description": "User disabled ASAM and exited the app",
			"type": "object",
			"properties": {
				"exitReason": {
					"description": "Reason why the user has exited the app",
					"type": "string"
				},
				"exitFlag": {
					"description": "Flag to indicate if the user has exited the app",
					"type": "boolean"
				}
			},
			"additionalProperties": false,
			"required": [
				"exitFlag"
			]
		},
		"testData": {
			"description": "Data associated with the test",
			"type": "object",
			"properties": {
				"testRequirements": {
					"description": "The test requirements that must be carried out during a test",
					"type": "object",
					"properties": {
						"normalStart1": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"normalStart2": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"angledStart": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						},
						"hillStart": {
							"description": "Indicates whether or not this test requirement was carried out",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"ETA": {
					"description": "Indicates whether the examiner had to take verbal action during the test",
					"type": "object",
					"properties": {
						"verbal": {
							"description": "Indicates that the examiner had to take verbal action",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"drivingFaults": {
					"description": "The driving faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "The count of the number of driving faults recorded against a test element",
							"type": "integer"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"seriousFaults": {
					"description": "The serious faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "Indicator for a serious fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"dangerousFaults": {
					"description": "The dangerous faults accumulated during the test",
					"type": "object",
					"properties": {
						"controlsThrottle": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsThrottleComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsClutch": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsClutchComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsGears": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsGearsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsFrontBrake": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsFrontBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsRearBrake": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsRearBrakeComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsSteering": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsSteeringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"controlsBalanceSlowControl": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"controlsBalanceSlowControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"ancillaryControls": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"ancillaryControlsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"precautions": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"precautionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffSafety": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffSafetyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"moveOffControl": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"moveOffControlComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsSignalling": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeDirection": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfMirrorsChangeSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfMirrorsChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsNecessary": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsNecessaryComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsCorrectly": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsCorrectlyComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"signalsTimed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"signalsTimedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsApproachSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsApproachSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsObservation": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsObservationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningRight": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningRightComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsTurningLeft": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsTurningLeftComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"junctionsCuttingCorners": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"junctionsCuttingCornersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertaking": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementMeeting": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementMeetingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementCrossing": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementCrossingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningNormalDriving": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningNormalDrivingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positioningLaneDiscipline": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positioningLaneDisciplineComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"clearanceOrObstructions": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"clearanceOrObstructionsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"followingDistance": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"followingDistanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"useOfSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"useOfSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressAppropriateSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"progressAppropriateSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"progressUndueHesitation": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"progressUndueHesitationComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficSigns": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficSignsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsRoadMarkings": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsRoadMarkingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficLights": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficLightsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsTrafficControllers": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsTrafficControllersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"responseToSignsOtherRoadUsers": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"responseToSignsOtherRoadUsersComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"pedestrianCrossings": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"pedestrianCrossingsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalStops": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalStopsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"awarenessPlanning": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"awarenessPlanningComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"bends": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"bendsComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationSignalling": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationSignallingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeDirection": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeDirectionComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"rearObservationChangeSpeed": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"rearObservationChangeSpeedComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"positionNormalRiding": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"positionNormalRidingComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"judgementOvertakingFiltering": {
							"description": "Indicator for a dangerous fault being recorded against a test element",
							"type": "boolean"
						},
						"judgementOvertakingFilteringComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				},
				"safetyAndBalanceQuestions": {
					"additionalProperties": false,
					"description": "Details of the safety and balance questions asked during the test",
					"properties": {
						"safetyQuestions": {
							"items": {
								"description": "Result of a vehicle checks question",
								"type": "object",
								"additionalProperties": false,
								"properties": {
									"code": {
										"description": "Code representing the question that was asked",
										"type": "string"
									},
									"description": {
										"description": "Description of the question that was asked",
										"type": "string"
									},
									"outcome": {
										"description": "Outcome of the question that was asked",
										"type": "string",
										"enum": [
											"P",
											"DF",
											"S",
											"D"
										]
									}
								}
							},
							"type": "array"
						},
						"safetyAndBalanceComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						},
						"balanceQuestions": {
							"items": {
								"description": "Result of a vehicle checks question",
								"type": "object",
								"additionalProperties": false,
								"properties": {
									"code": {
										"description": "Code representing the question that was asked",
										"type": "string"
									},
									"description": {
										"description": "Description of the question that was asked",
										"type": "string"
									},
									"outcome": {
										"description": "Outcome of the question that was asked",
										"type": "string",
										"enum": [
											"P",
											"DF",
											"S",
											"D"
										]
									}
								}
							},
							"type": "array"
						}
					},
					"type": "object"
				},
				"eco": {
					"description": "Assessment of the eco friendly manner of driving",
					"type": "object",
					"properties": {
						"completed": {
							"description": "Indicates that the eco friendly manner of driving has been assessed",
							"type": "boolean"
						},
						"adviceGivenControl": {
							"description": "Indicates that advice was given on the Control aspect of eco driving",
							"type": "boolean"
						},
						"adviceGivenPlanning": {
							"description": "Indicates that advice was given on the Planning aspect of eco driving",
							"type": "boolean"
						},
						"ecoRelatedFault": {
							"description": "Fault that relates to the Eco selection",
							"type": "string"
						},
						"ecoCaptureReason": {
							"description": "Reason for Eco capture",
							"type": "string"
						},
						"fuelEfficientDriving": {
							"description": "Whether the candidate exemplified efficient driving",
							"type": "boolean"
						}
					},
					"additionalProperties": false
				},
				"eyesightTest": {
					"type": "object",
					"properties": {
						"complete": {
							"type": "boolean"
						},
						"seriousFault": {
							"description": "Whether the candidate has failed the eyesight test",
							"type": "boolean"
						},
						"faultComments": {
							"description": "Comments recorded against a fault",
							"type": "string",
							"maxLength": 1000
						}
					},
					"additionalProperties": false
				}
			},
			"additionalProperties": false
		}
	},
	"additionalProperties": false,
	"required": [
		"version",
		"category",
		"journalData",
		"activityCode",
		"rekey",
		"changeMarker",
		"examinerBooked",
		"examinerConducted",
		"examinerKeyed"
	]
}