@dvsa/mes-test-schema
Version:
Domain model for data associated with tests administered by the Driving Examiner Services project
1,811 lines • 81.5 kB
JSON
{
"title": "Test Result Cat AM1 Schema",
"type": "object",
"definitions": {
"singleFaultCompetencies": {
"additionalProperties": false,
"description": "Single fault competencies associated with the test",
"properties": {
"useOfStand": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"useOfStandComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"manualHandling": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"manualHandlingComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"slalom": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"slalomComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"slowControl": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"slowControlComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"uTurn": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"uTurnComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"controlledStop": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"controlledStopComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"emergencyStop": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"emergencyStopComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"avoidance": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"avoidanceComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
}
}
},
"circuit": {
"description": "Circuit completed (left or right)",
"type": "string",
"enum": [
"Left",
"Right"
]
},
"testData": {
"additionalProperties": false,
"description": "Data associated with the test",
"properties": {
"singleFaultCompetencies": {
"additionalProperties": false,
"description": "Single fault competencies associated with the test",
"properties": {
"useOfStand": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"useOfStandComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"manualHandling": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"manualHandlingComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"slalom": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"slalomComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"slowControl": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"slowControlComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"uTurn": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"uTurnComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"controlledStop": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"controlledStopComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"emergencyStop": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"emergencyStopComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"avoidance": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"avoidanceComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
}
}
},
"emergencyStop": {
"description": "The outcome of emergency stop tests",
"type": "object",
"additionalProperties": false,
"properties": {
"firstAttempt": {
"description": "The speed of the first attempt",
"type": "integer"
},
"secondAttempt": {
"description": "The speed of the second attempt",
"type": "integer"
},
"outcome": {
"description": "The possible outcomes of speed requirment fault competency",
"enum": [
"S"
],
"type": "string"
},
"comments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
}
}
},
"avoidance": {
"description": "The outcome of avoidance tests",
"type": "object",
"additionalProperties": false,
"properties": {
"firstAttempt": {
"description": "The speed of the first attempt",
"type": "integer"
},
"secondAttempt": {
"description": "The speed of the second attempt",
"type": "integer"
},
"outcome": {
"description": "The possible outcomes of speed requirment fault competency",
"enum": [
"S"
],
"type": "string"
},
"comments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
}
}
},
"drivingFaults": {
"description": "The driving faults accumulated during the test",
"type": "object",
"properties": {
"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
}
},
"additionalProperties": false
},
"seriousFaults": {
"description": "The serious faults accumulated during the test",
"type": "object",
"properties": {
"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
}
},
"additionalProperties": false
},
"dangerousFaults": {
"description": "The dangerous faults accumulated during the test",
"type": "object",
"properties": {
"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
}
},
"additionalProperties": false
},
"ETA": {
"description": "Indicates whether the examiner had to take physical or verbal action during the test",
"type": "object",
"properties": {
"physical": {
"description": "Indicates that the examiner had to take physical action",
"type": "boolean"
},
"verbal": {
"description": "Indicates that the examiner had to take verbal action",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"type": "object"
},
"singleFaultCompetencyOutcome": {
"description": "The possible outcomes of any single fault competency",
"enum": [
"DF",
"S",
"D"
],
"type": "string"
},
"SpeedRequirementCompetencyOutcome": {
"description": "The possible outcomes of speed requirment fault competency",
"enum": [
"S"
],
"type": "string"
},
"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": [
"centreId",
"costCode"
]
},
"name": {
"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
},
"address": {
"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
},
"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": {
"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,
"required": [
"applicationId",
"bookingSequence",
"checkDigit"
]
},
"initiator": {
"description": "The reason for the previous test cancellation",
"type": "string",
"enum": [
"Act of nature",
"DSA"
],
"maxLength": 15
},
"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": [
"slotId",
"start",
"vehicleTypeCode",
"welshTest",
"specialNeeds",
"extendedTest"
]
},
"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": [
"centreId",
"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": [
"slotId",
"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": {
"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,
"required": [
"applicationId",
"bookingSequence",
"checkDigit"
]
}
},
"additionalProperties": false,
"required": [
"examiner",
"testCentre",
"testSlotAttributes",
"candidate",
"applicationReference"
]
},
"signature": {
"description": "Base 64 encoded binary data representing a PNG image of the candidates signature",
"type": "string"
},
"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"
]
},
"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"
]
},
"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
},
"gearboxCategory": {
"description": "The type of gearbox",
"type": "string",
"enum": [
"Manual",
"Automatic"
]
},
"drivingFaultCount": {
"description": "The count of the number of driving faults recorded against a test element",
"type": "integer"
},
"faultComments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
},
"drivingFaults": {
"description": "The driving faults accumulated during the test",
"type": "object",
"properties": {
"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
}
},
"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": {
"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
}
},
"additionalProperties": false
},
"dangerousFaultIndicator": {
"description": "Indicator for a dangerous fault being recorded against a test element",
"type": "boolean"
},
"dangerousFaults": {
"description": "The dangerous faults accumulated during the test",
"type": "object",
"properties": {
"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
}
},
"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
},
"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"
]
},
"identification": {
"description": "Indicates which form of ID was provided by the candidate",
"type": "string",
"enum": [
"Licence",
"Passport"
]
},
"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
},
"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"
},
"circuit": {
"description": "Circuit completed (left or right)",
"type": "string",
"enum": [
"Left",
"Right"
]
}
},
"additionalProperties": false
},
"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"
]
},
"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"
]
},
"gender": {
"description": "The gender of an individual, limited to 'M' or 'F' as per TARS master data",
"type": "string",
"enum": [
"M",
"F"
]
},
"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
},
"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
},
"vehicleDetails": {
"description": "Details about the vehicle to be used for the test",
"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"
}
},
"gearboxCategory": {
"description": "The type of gearbox",
"type": "string",
"enum": [
"Manual",
"Automatic"
]
},
"schoolBike": {
"description": "Indicates whether the bike belongs to a driving school",
"type": "boolean"
}
},
"additionalProperties": false
},
"passCompletion": {
"description": "Finalisation of a successful test outcome",
"type": "object",
"properties": {
"passCertificateNumber": {
"description": "The PCN issued to the candidate",
"type": "string",
"maxLength": 7,
"minLength": 7
}
},
"additionalProperties": false,
"required": [
"passCertificateNumber"
]
},
"DL196CBTCertNumber": {
"description": "The number of the DL196 CBT certificate presented by the candidate",
"type": "string"
},
"avoidance": {
"description": "The outcome of avoidance tests",
"type": "object",
"additionalProperties": false,
"properties": {
"firstAttempt": {
"description": "The speed of the first attempt",
"type": "integer"
},
"secondAttempt": {
"description": "The speed of the second attempt",
"type": "integer"
},
"outcome": {
"description": "The possible outcomes of speed requirment fault competency",
"enum": [
"S"
],
"type": "string"
},
"comments": {
"description": "Comments recorded against a fault",
"type": "string",
"maxLength": 1000
}
}
},
"emergencyStop": {
"des