UNPKG

@dvsa/mes-test-schema

Version:

Domain model for data associated with tests administered by the Driving Examiner Services project

1,207 lines (1,204 loc) 35.4 kB
/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Category code for the test report * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "categoryCode". */ export type CategoryCode = | "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"; /** * The reason for the previous test cancellation * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "initiator". */ export type Initiator = "Act of nature" | "DSA"; /** * The gender of an individual, limited to 'M' or 'F' as per TARS master data * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "gender". */ export type Gender = "M" | "F"; /** * Code representing the result of the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "activityCode". */ export type ActivityCode = | "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"; /** * The method of communication by which the candidate agrees to receive their results * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "communicationMethod". */ export type CommunicationMethod = "Email" | "Post" | "Support Centre" | "Not provided"; /** * The language in which a candidate agrees to perform a test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "conductedLanguage". */ export type ConductedLanguage = "English" | "Cymraeg" | "Not provided"; /** * Base 64 encoded binary data representing a PNG image of the candidates signature * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "signature". */ export type Signature = string; /** * Method chosen to conduct the independent driving section of the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "independentDriving". */ export type IndependentDriving = "Sat nav" | "Diagram" | "Traffic signs" | "N/A"; /** * Indicates which form of ID was provided by the candidate * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "identification". */ export type Identification = "Licence" | "Passport"; /** * Predefined values for the type of weather encountered during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "weatherConditions". */ export type WeatherConditions = | "Bright / dry roads" | "Bright / wet roads" | "Raining through test" | "Showers" | "Foggy / misty" | "Dull / wet roads" | "Dull / dry roads" | "Snowing" | "Icy" | "Windy"; /** * The type of gearbox * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "gearboxCategory". */ export type GearboxCategory = "Manual" | "Automatic"; /** * The count of the number of driving faults recorded against a test element * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "drivingFaultCount". */ export type DrivingFaultCount = number; /** * Comments recorded against a fault * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "faultComments". */ export type FaultComments = string; /** * Indicator for a serious fault being recorded against a test element * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "seriousFaultIndicator". */ export type SeriousFaultIndicator = boolean; /** * Indicator for a dangerous fault being recorded against a test element * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "dangerousFaultIndicator". */ export type DangerousFaultIndicator = boolean; /** * Indicate presence of code 78 (automatic) on candidates license * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "code78Present". */ export type Code78Present = boolean; /** * Indicates whether the vehicle belongs to a driving school * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "schoolCar". */ export type SchoolCar = boolean; /** * Indicates whether or not the vehicle has dual controls fitted * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "dualControls". */ export type DualControls = boolean; /** * The possible outcomes of any manoeuvre performed during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "manoeuvreOutcome". */ export type ManoeuvreOutcome = "DF" | "S" | "D"; /** * Indicator for a manoeuvre being performed during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "manoeuvreIndicator". */ export type ManoeuvreIndicator = boolean; /** * Code representing the question that was asked * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "questionCode". */ export type QuestionCode = string; /** * Description of the question that was asked * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "questionDescription". */ export type QuestionDescription = string; /** * Outcome of the question that was asked * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "questionOutcome". */ export type QuestionOutcome = "P" | "DF" | "S" | "D"; export interface TestResultCommonSchema { /** * Version number */ version: string; /** * App version number */ appVersion?: string; category: CategoryCode; journalData: JournalData; activityCode: ActivityCode; communicationPreferences?: CommunicationPreferences; preTestDeclarations?: PreTestDeclarations; accompaniment?: Accompaniment; postTestDeclarations?: PostTestDeclarations; testSummary?: TestSummary; rekeyReason?: RekeyReason; /** * Whether the test was rekeyed or not */ rekey: boolean; /** * Date the test was rekeyed */ rekeyDate?: string; /** * Whether the test was completed by a delegated examiner or not */ delegatedTest?: boolean; /** * Whether the test was conducted by another examiner */ changeMarker: boolean; /** * The examiner who the test was booked to */ examinerBooked: number | string; /** * The examiner who conducted the test */ examinerConducted: number | string; /** * The examiner who keyed the test into the iPad */ examinerKeyed: number; passCompletion?: PassCompletion; vehicleDetails?: VehicleDetails; userExitedApp?: UserExitedApp; testData?: TestData; } /** * Data brought through from the journal * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "journalData". */ export interface JournalData { examiner: Examiner; testCentre: TestCentre; testSlotAttributes: TestSlotAttributes; candidate: Candidate; applicationReference: ApplicationReference; } /** * The examiner details * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "examiner". */ export interface Examiner { /** * The examiner's DSA staff number */ staffNumber: string; /** * The individual ID of the examiner */ individualId?: number; } /** * Details of the test centre * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "testCentre". */ export interface TestCentre { /** * Identifer for the test centre */ centreId: number; /** * Cost centre code for the test centre */ costCode: string; /** * Name of the test centre */ centreName?: string; } /** * The additional attributes of the test slot such as Slot Id, Category, Start Time, etc. * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "testSlotAttributes". */ export interface TestSlotAttributes { /** * Unique identifier for the journal test slot */ slotId: number; /** * Start time of the test slot */ start: string; /** * A short alpha (and sometimes numeric) code describing the vehicle type in vehicle slot type */ vehicleTypeCode: string; /** * Whether the test is to be conducted using the welsh language */ welshTest: boolean; /** * Special needs code */ specialNeedsCode?: "NONE" | "YES" | "EXTRA"; /** * Whether the candidate has any special needs that require the D255 form to be completed */ specialNeeds: boolean; /** * The special needs */ specialNeedsArray?: string[]; /** * Whether the candidate requires an extended test due to special needs */ specialNeedsExtendedTest?: boolean; /** * Whether this is an extended test */ extendedTest: boolean; /** * Whether the examiner conducting the test slot is visiting a test centre that's not their home test centre */ examinerVisiting?: boolean; /** * Indicates whether the examiner needs to check the candidates entitlement evidence(e.g. test application has not been checked with DVLA) */ entitlementCheck?: boolean; /** * Indicates whether the candidate has previously had a fraud marker set against them */ fitMarker?: boolean; /** * The integrity case number associated to the candidate */ fitCaseNumber?: string; /** * Indicates whether the examiner needs to check the candidates entitlement based on new legislation around booking vocational categories */ categoryEntitlementCheck?: boolean; /** * The details of any previous test cancellations */ previousCancellation?: Initiator[]; /** * A description of the types of test intended to be conducted in this slot (e.g. Standard Test / Extended Special Needs Test) */ slotType?: string; } /** * Details of the candidate booked into the test slot * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "candidate". */ export interface Candidate { /** * The id of the test candidate */ candidateId?: number; candidateName?: Name; /** * The candidate's driver number, typically (though not always) 16 characters if UK, or 8 digits if NI */ driverNumber?: string; /** * The candidate's date of birth, formatted as an ISO 8601 date (YYYY-MM-DD) */ dateOfBirth?: string; gender?: Gender; candidateAddress?: Address; /** * The candidate's primary telephone number, if any (and consent to leave voicemail has been given) */ primaryTelephone?: string; /** * The candidate's secondary telephone number, if any (and consent to leave voicemail has been given) */ secondaryTelephone?: string; /** * The candidate's mobile telephone number, if any (and consent to leave voicemail has been given) */ mobileTelephone?: string; /** * The candidate's email address, if any */ emailAddress?: string; /** * The candidate's ADI PRN (potential register number), if an ADI test */ prn?: number; /** * The number of previous test attempts, if an ADI test */ previousADITests?: number; /** * A character between A and G representing different categories of ethnicity */ ethnicityCode?: string; } /** * Details of the individual's name * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "name". */ export interface Name { /** * The individual's title */ title?: string; /** * The individual's forename */ firstName?: string; /** * The individual's second name */ secondName?: string; /** * The individual's third name */ thirdName?: string; /** * The individual's surname */ lastName?: string; } /** * Details of the address * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "address". */ export interface Address { /** * First line of address */ addressLine1?: string; /** * Second line of address */ addressLine2?: string; /** * Third line of address */ addressLine3?: string; /** * Fourth line of address */ addressLine4?: string; /** * Fifth line of address */ addressLine5?: string; /** * The address postcode */ postcode?: string; } /** * The full application identifier, including applicationId, bookingSequence and checkDigit * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "applicationReference". */ export interface ApplicationReference { /** * Unique identifier for each test application */ applicationId: number; /** * Booking sequence number of the test application */ bookingSequence: number; /** * Reference checksum for the test application */ checkDigit: number; } /** * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "communicationPreferences". */ export interface CommunicationPreferences { /** * The email address that the candidate agrees their results can be sent to */ updatedEmail?: string; communicationMethod?: CommunicationMethod; conductedLanguage: ConductedLanguage; } /** * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "preTestDeclarations". */ export interface PreTestDeclarations { /** * Whether or not the candidate has declared that their test vehicle has a valid insurance policy */ insuranceDeclarationAccepted: boolean; /** * Whether or not the candidate has declared that they have lived in the UK for a period acceptable for taking the test */ residencyDeclarationAccepted: boolean; preTestSignature: Signature; /** * Whether or not the candidate signature had been recorded for delegated tests */ candidateDeclarationSigned?: boolean; } /** * Indicators for anybody else overseeing the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "accompaniment". */ export interface Accompaniment { /** * Indicates whether the ADI was present during the test */ ADI?: boolean; /** * Indicates whether a DVSA supervisor was present during the test */ supervisor?: boolean; /** * Indicates whether an interpreter was present during the test */ interpreter?: boolean; /** * Indicates whether another individual was present during the test */ other?: boolean; } /** * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "postTestDeclarations". */ export interface PostTestDeclarations { /** * Whether or not the candidate has declared that their health status hasn't changed since their last application */ healthDeclarationAccepted?: boolean; /** * Indicates whether the candidate acknowledges receipt of the PCN */ passCertificateNumberReceived?: boolean; postTestSignature?: Signature; } /** * Recording of other characteristics of the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "testSummary". */ export interface TestSummary { /** * Number of the route that was taken during the test */ routeNumber?: number; independentDriving?: IndependentDriving; /** * Physical appearance resembles a true likeness to provided ID */ trueLikenessToPhoto?: boolean; /** * Physical description of the candidate */ candidateDescription?: string; /** * Indicates whether anybody else (e.g. ADI) was present for the debrief */ debriefWitnessed?: boolean; identification?: Identification; /** * Description of the type of weather encountered during the test */ weatherConditions?: WeatherConditions[]; /** * Indicates whether a D255 form needs to be completed */ D255?: boolean; /** * Any comments that the DE wants to record about the test */ additionalInformation?: string; } /** * Recording of the rekey reason * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "rekeyReason". */ export interface RekeyReason { transfer?: Transfer; ipadIssue?: IpadIssue; other?: Other; } /** * Recording of if a rekey was due to a transfer * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "transfer". */ export interface Transfer { /** * If this option was selected */ selected?: boolean; } /** * Recording of if a rekey was due to a iPad issue * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "ipadIssue". */ export interface IpadIssue { /** * If this option was selected */ selected?: boolean; /** * If the iPad was not used due to a technical fault */ technicalFault?: boolean; /** * If the iPad was not used as it has been lost */ lost?: boolean; /** * If the iPad was not used as it has been stolen */ stolen?: boolean; /** * If the iPad was not used as it is broken */ broken?: boolean; } /** * Recording of if a rekey was due to a different reason * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "other". */ export interface Other { /** * If this option was selected */ selected?: boolean; /** * The reason this option was selected */ reason?: string; } /** * Finalisation of a successful test outcome * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "passCompletion". */ export interface PassCompletion { /** * Indicates whether the candidate submitted their provisional driving licence */ provisionalLicenceProvided?: boolean; /** * The PCN issued to the candidate */ passCertificateNumber: string; } /** * Details about the vehicle to be used for the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "vehicleDetails". */ export interface VehicleDetails { /** * The vehicle registration number */ registrationNumber?: string; /** * The mot status of the vehicle */ motStatus?: string; /** * Marker stating if alternative MOT evidence was provided */ motEvidenceProvided?: boolean; /** * Alternative MOT evidence */ motEvidence?: string; /** * The make of the vehicle */ make?: string; /** * The model of the vehicle */ model?: string; /** * The test expiry date of the vehicle */ testExpiryDate?: string; /** * Previously searched for registration numbers */ previouslySearchedRegNumbers?: string[]; gearboxCategory?: GearboxCategory; } /** * User disabled ASAM and exited the app * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "userExitedApp". */ export interface UserExitedApp { /** * Reason why the user has exited the app */ exitReason?: string; /** * Flag to indicate if the user has exited the app */ exitFlag: boolean; } /** * Data associated with the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "testData". */ export interface TestData { drivingFaults?: DrivingFaults; seriousFaults?: SeriousFaults; dangerousFaults?: DangerousFaults; eco?: Eco; ETA?: ETA; testRequirements?: TestRequirements; } /** * The driving faults accumulated during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "drivingFaults". */ export interface DrivingFaults { controlsAccelerator?: DrivingFaultCount; controlsAcceleratorComments?: FaultComments; controlsClutch?: DrivingFaultCount; controlsClutchComments?: FaultComments; controlsGears?: DrivingFaultCount; controlsGearsComments?: FaultComments; controlsFootbrake?: DrivingFaultCount; controlsFootbrakeComments?: FaultComments; controlsParkingBrake?: DrivingFaultCount; controlsParkingBrakeComments?: FaultComments; controlsSteering?: DrivingFaultCount; controlsSteeringComments?: FaultComments; precautions?: DrivingFaultCount; precautionsComments?: FaultComments; ancillaryControls?: DrivingFaultCount; ancillaryControlsComments?: FaultComments; moveOffSafety?: DrivingFaultCount; moveOffSafetyComments?: FaultComments; moveOffControl?: DrivingFaultCount; moveOffControlComments?: FaultComments; useOfMirrorsSignalling?: DrivingFaultCount; useOfMirrorsSignallingComments?: FaultComments; useOfMirrorsChangeDirection?: DrivingFaultCount; useOfMirrorsChangeDirectionComments?: FaultComments; useOfMirrorsChangeSpeed?: DrivingFaultCount; useOfMirrorsChangeSpeedComments?: FaultComments; signalsNecessary?: DrivingFaultCount; signalsNecessaryComments?: FaultComments; signalsCorrectly?: DrivingFaultCount; signalsCorrectlyComments?: FaultComments; signalsTimed?: DrivingFaultCount; signalsTimedComments?: FaultComments; junctionsApproachSpeed?: DrivingFaultCount; junctionsApproachSpeedComments?: FaultComments; junctionsObservation?: DrivingFaultCount; junctionsObservationComments?: FaultComments; junctionsTurningRight?: DrivingFaultCount; junctionsTurningRightComments?: FaultComments; junctionsTurningLeft?: DrivingFaultCount; junctionsTurningLeftComments?: FaultComments; junctionsCuttingCorners?: DrivingFaultCount; junctionsCuttingCornersComments?: FaultComments; judgementOvertaking?: DrivingFaultCount; judgementOvertakingComments?: FaultComments; judgementMeeting?: DrivingFaultCount; judgementMeetingComments?: FaultComments; judgementCrossing?: DrivingFaultCount; judgementCrossingComments?: FaultComments; positioningNormalDriving?: DrivingFaultCount; positioningNormalDrivingComments?: FaultComments; positioningLaneDiscipline?: DrivingFaultCount; positioningLaneDisciplineComments?: FaultComments; clearance?: DrivingFaultCount; clearanceComments?: FaultComments; followingDistance?: DrivingFaultCount; followingDistanceComments?: FaultComments; useOfSpeed?: DrivingFaultCount; useOfSpeedComments?: FaultComments; progressAppropriateSpeed?: DrivingFaultCount; progressAppropriateSpeedComments?: FaultComments; progressUndueHesitation?: DrivingFaultCount; progressUndueHesitationComments?: FaultComments; responseToSignsTrafficSigns?: DrivingFaultCount; responseToSignsTrafficSignsComments?: FaultComments; responseToSignsRoadMarkings?: DrivingFaultCount; responseToSignsRoadMarkingsComments?: FaultComments; responseToSignsTrafficLights?: DrivingFaultCount; responseToSignsTrafficLightsComments?: FaultComments; responseToSignsTrafficControllers?: DrivingFaultCount; responseToSignsTrafficControllersComments?: FaultComments; responseToSignsOtherRoadUsers?: DrivingFaultCount; responseToSignsOtherRoadUsersComments?: FaultComments; pedestrianCrossings?: DrivingFaultCount; pedestrianCrossingsComments?: FaultComments; positionNormalStops?: DrivingFaultCount; positionNormalStopsComments?: FaultComments; awarenessPlanning?: DrivingFaultCount; awarenessPlanningComments?: FaultComments; } /** * The serious faults accumulated during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "seriousFaults". */ export interface SeriousFaults { controlsAccelerator?: SeriousFaultIndicator; controlsAcceleratorComments?: FaultComments; controlsClutch?: SeriousFaultIndicator; controlsClutchComments?: FaultComments; controlsGears?: SeriousFaultIndicator; controlsGearsComments?: FaultComments; controlsFootbrake?: SeriousFaultIndicator; controlsFootbrakeComments?: FaultComments; controlsParkingBrake?: SeriousFaultIndicator; controlsParkingBrakeComments?: FaultComments; controlsSteering?: SeriousFaultIndicator; controlsSteeringComments?: FaultComments; precautions?: SeriousFaultIndicator; precautionsComments?: FaultComments; ancillaryControls?: SeriousFaultIndicator; ancillaryControlsComments?: FaultComments; moveOffSafety?: SeriousFaultIndicator; moveOffSafetyComments?: FaultComments; moveOffControl?: SeriousFaultIndicator; moveOffControlComments?: FaultComments; useOfMirrorsSignalling?: SeriousFaultIndicator; useOfMirrorsSignallingComments?: FaultComments; useOfMirrorsChangeDirection?: SeriousFaultIndicator; useOfMirrorsChangeDirectionComments?: FaultComments; useOfMirrorsChangeSpeed?: SeriousFaultIndicator; useOfMirrorsChangeSpeedComments?: FaultComments; signalsNecessary?: SeriousFaultIndicator; signalsNecessaryComments?: FaultComments; signalsCorrectly?: SeriousFaultIndicator; signalsCorrectlyComments?: FaultComments; signalsTimed?: SeriousFaultIndicator; signalsTimedComments?: FaultComments; junctionsApproachSpeed?: SeriousFaultIndicator; junctionsApproachSpeedComments?: FaultComments; junctionsObservation?: SeriousFaultIndicator; junctionsObservationComments?: FaultComments; junctionsTurningRight?: SeriousFaultIndicator; junctionsTurningRightComments?: FaultComments; junctionsTurningLeft?: SeriousFaultIndicator; junctionsTurningLeftComments?: FaultComments; junctionsCuttingCorners?: SeriousFaultIndicator; junctionsCuttingCornersComments?: FaultComments; judgementOvertaking?: SeriousFaultIndicator; judgementOvertakingComments?: FaultComments; judgementMeeting?: SeriousFaultIndicator; judgementMeetingComments?: FaultComments; judgementCrossing?: SeriousFaultIndicator; judgementCrossingComments?: FaultComments; positioningNormalDriving?: SeriousFaultIndicator; positioningNormalDrivingComments?: FaultComments; positioningLaneDiscipline?: SeriousFaultIndicator; positioningLaneDisciplineComments?: FaultComments; clearance?: SeriousFaultIndicator; clearanceComments?: FaultComments; followingDistance?: SeriousFaultIndicator; followingDistanceComments?: FaultComments; useOfSpeed?: SeriousFaultIndicator; useOfSpeedComments?: FaultComments; progressAppropriateSpeed?: SeriousFaultIndicator; progressAppropriateSpeedComments?: FaultComments; progressUndueHesitation?: SeriousFaultIndicator; progressUndueHesitationComments?: FaultComments; responseToSignsTrafficSigns?: SeriousFaultIndicator; responseToSignsTrafficSignsComments?: FaultComments; responseToSignsRoadMarkings?: SeriousFaultIndicator; responseToSignsRoadMarkingsComments?: FaultComments; responseToSignsTrafficLights?: SeriousFaultIndicator; responseToSignsTrafficLightsComments?: FaultComments; responseToSignsTrafficControllers?: SeriousFaultIndicator; responseToSignsTrafficControllersComments?: FaultComments; responseToSignsOtherRoadUsers?: SeriousFaultIndicator; responseToSignsOtherRoadUsersComments?: FaultComments; pedestrianCrossings?: SeriousFaultIndicator; pedestrianCrossingsComments?: FaultComments; positionNormalStops?: SeriousFaultIndicator; positionNormalStopsComments?: FaultComments; awarenessPlanning?: SeriousFaultIndicator; awarenessPlanningComments?: FaultComments; } /** * The dangerous faults accumulated during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "dangerousFaults". */ export interface DangerousFaults { controlsAccelerator?: DangerousFaultIndicator; controlsAcceleratorComments?: FaultComments; controlsClutch?: DangerousFaultIndicator; controlsClutchComments?: FaultComments; controlsGears?: DangerousFaultIndicator; controlsGearsComments?: FaultComments; controlsFootbrake?: DangerousFaultIndicator; controlsFootbrakeComments?: FaultComments; controlsParkingBrake?: DangerousFaultIndicator; controlsParkingBrakeComments?: FaultComments; controlsSteering?: DangerousFaultIndicator; controlsSteeringComments?: FaultComments; precautions?: DangerousFaultIndicator; precautionsComments?: FaultComments; ancillaryControls?: DangerousFaultIndicator; ancillaryControlsComments?: FaultComments; moveOffSafety?: DangerousFaultIndicator; moveOffSafetyComments?: FaultComments; moveOffControl?: DangerousFaultIndicator; moveOffControlComments?: FaultComments; useOfMirrorsSignalling?: DangerousFaultIndicator; useOfMirrorsSignallingComments?: FaultComments; useOfMirrorsChangeDirection?: DangerousFaultIndicator; useOfMirrorsChangeDirectionComments?: FaultComments; useOfMirrorsChangeSpeed?: DangerousFaultIndicator; useOfMirrorsChangeSpeedComments?: FaultComments; signalsNecessary?: DangerousFaultIndicator; signalsNecessaryComments?: FaultComments; signalsCorrectly?: DangerousFaultIndicator; signalsCorrectlyComments?: FaultComments; signalsTimed?: DangerousFaultIndicator; signalsTimedComments?: FaultComments; junctionsApproachSpeed?: DangerousFaultIndicator; junctionsApproachSpeedComments?: FaultComments; junctionsObservation?: DangerousFaultIndicator; junctionsObservationComments?: FaultComments; junctionsTurningRight?: DangerousFaultIndicator; junctionsTurningRightComments?: FaultComments; junctionsTurningLeft?: DangerousFaultIndicator; junctionsTurningLeftComments?: FaultComments; junctionsCuttingCorners?: DangerousFaultIndicator; junctionsCuttingCornersComments?: FaultComments; judgementOvertaking?: DangerousFaultIndicator; judgementOvertakingComments?: FaultComments; judgementMeeting?: DangerousFaultIndicator; judgementMeetingComments?: FaultComments; judgementCrossing?: DangerousFaultIndicator; judgementCrossingComments?: FaultComments; positioningNormalDriving?: DangerousFaultIndicator; positioningNormalDrivingComments?: FaultComments; positioningLaneDiscipline?: DangerousFaultIndicator; positioningLaneDisciplineComments?: FaultComments; clearance?: DangerousFaultIndicator; clearanceComments?: FaultComments; followingDistance?: DangerousFaultIndicator; followingDistanceComments?: FaultComments; useOfSpeed?: DangerousFaultIndicator; useOfSpeedComments?: FaultComments; progressAppropriateSpeed?: DangerousFaultIndicator; progressAppropriateSpeedComments?: FaultComments; progressUndueHesitation?: DangerousFaultIndicator; progressUndueHesitationComments?: FaultComments; responseToSignsTrafficSigns?: DangerousFaultIndicator; responseToSignsTrafficSignsComments?: FaultComments; responseToSignsRoadMarkings?: DangerousFaultIndicator; responseToSignsRoadMarkingsComments?: FaultComments; responseToSignsTrafficLights?: DangerousFaultIndicator; responseToSignsTrafficLightsComments?: FaultComments; responseToSignsTrafficControllers?: DangerousFaultIndicator; responseToSignsTrafficControllersComments?: FaultComments; responseToSignsOtherRoadUsers?: DangerousFaultIndicator; responseToSignsOtherRoadUsersComments?: FaultComments; pedestrianCrossings?: DangerousFaultIndicator; pedestrianCrossingsComments?: FaultComments; positionNormalStops?: DangerousFaultIndicator; positionNormalStopsComments?: FaultComments; awarenessPlanning?: DangerousFaultIndicator; awarenessPlanningComments?: FaultComments; } /** * Assessment of the eco friendly manner of driving * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "eco". */ export interface Eco { /** * Indicates that the eco friendly manner of driving has been assessed */ completed?: boolean; /** * Indicates that advice was given on the Control aspect of eco driving */ adviceGivenControl?: boolean; /** * Indicates that advice was given on the Planning aspect of eco driving */ adviceGivenPlanning?: boolean; /** * Fault that relates to the Eco selection */ ecoRelatedFault?: string; /** * Reason for Eco capture */ ecoCaptureReason?: string; /** * Whether the candidate exemplified efficient driving */ fuelEfficientDriving?: boolean; } /** * Indicates whether the examiner had to take physical or verbal action during the test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "ETA". */ export interface ETA { /** * Indicates that the examiner had to take physical action */ physical?: boolean; /** * Indicates that the examiner had to take verbal action */ verbal?: boolean; } /** * The test requirements that must be carried out during a test * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "testRequirements". */ export interface TestRequirements { /** * Indicates whether or not this test requirement was carried out */ normalStart1?: boolean; /** * Indicates whether or not this test requirement was carried out */ normalStart2?: boolean; } /** * Data needs capturing for a manoeuvre competency * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "manoeuvre". */ export interface Manoeuvre { controlFault?: ManoeuvreOutcome; controlFaultComments?: FaultComments; observationFault?: ManoeuvreOutcome; observationFaultComments?: FaultComments; selected?: ManoeuvreIndicator; } /** * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "eyesightTest". */ export interface EyesightTest { complete?: boolean; /** * Whether the candidate has failed the eyesight test */ seriousFault?: boolean; faultComments?: FaultComments; } /** * Result of a vehicle checks question * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "questionResult". */ export interface QuestionResult { code?: QuestionCode; description?: QuestionDescription; outcome?: QuestionOutcome; } /** * Result of a safety question * * This interface was referenced by `TestResultCommonSchema`'s JSON-Schema * via the `definition` "safetyQuestionResult". */ export interface SafetyQuestionResult { description?: QuestionDescription; outcome?: QuestionOutcome; }