На сервер потрібно надіслати модель Driver, яка виглядає наступним чином:
components:
schemas:
Driver:
type: object
properties:
hr_hash:
type: string
nullable: true
description: window.vars.HR_HASH
email:
type: string
format: email
phone:
type: string
pattern: "^1\\d{10}$"
description: US mobile phone number with country code (1)
first_name:
type: string
minLength: 2
maxLength: 50
last_name:
type: string
minLength: 2
maxLength: 50
photo:
type: string
nullable: true
maxLength: 4096000
description: Base64 encoded cropped photo
birth_date:
type: string
format: date
description: Driver's birth date (US date format - m/d/Y)
ssn:
type: string
minLength: 9
maxLength: 9
description: Social Security Number (SSN) of the driver
address:
type: string
minLength: 8
maxLength: 80
description: Driver's address
city:
type: string
minLength: 2
maxLength: 40
description: City where the driver resides
state_code:
type: string
description: State code (e.g., CA, NY). List of values in window.vars.SELECT_VALUES
zip_code:
type: string
pattern: "^\d{5}(-\d{4})?$"
description: ZIP code (5 digits or ZIP+4 with hyphen and additional digits)
is_legally_employable_in_us:
type: boolean
description: Indicates if the driver is legally employable in the US
is_currently_employed:
type: boolean
description: Indicates if the driver is currently employed
can_contact_current_employer:
type: boolean
nullable: true
description: Indicates if the current employer can be contacted
current_employer_phone:
type: string
pattern: "^1\\d{10}$"
nullable: true
description: Phone number of the current employer
company_discovery_method_type:
type: string
nullable: true
enum: ['facebook', 'instagram']
description: Type of company discovery method. List of values in window.vars.SELECT_VALUES
company_discovery_method_clarification:
type: string
nullable: true
minLength: 2
maxLength: 120
description: Clarification for the company discovery method
has_license_been_revoked_or_suspended:
type: boolean
description: Indicates if the driver's license has been revoked or suspended
license_revocation_or_suspension_date_and_place:
type: string
nullable: true
minLength: 10
maxLength: 500
description: Date and place of license revocation or suspension
reason_for_license_revocation_or_suspension:
type: string
nullable: true
minLength: 10
maxLength: 500
description: Reason for license revocation or suspension
has_been_convicted_of_felony:
type: boolean
description: Indicates if the driver has been convicted of a felony
felony_conviction_date_and_place:
type: string
nullable: true
minLength: 10
maxLength: 500
description: Date and place of felony conviction
reason_for_felony_conviction:
type: string
nullable: true
minLength: 10
maxLength: 500
description: Reason for felony conviction
has_tested_positive_for_drug_or_alcohol:
type: boolean
description: Indicates if the driver has tested positive for drugs or alcohol
employment_history:
type: array
minItems: 1
items:
type: object
properties:
employer_name:
type: string
minLength: 2
maxLength: 50
description: Employer's name
contact_name:
type: string
minLength: 2
maxLength: 50
description: Contact person's name
contact_phone:
type: string
pattern: "^1\\d{10}$"
description: Contact person's phone number
enrollment_date:
type: string
format: date
description: Date of enrollment
leaving_date:
type: string
format: date
description: Date of leaving. Must be after enrollment_date
job_title:
type: string
nullable: true
minLength: 2
maxLength: 50
description: Job title
salary:
type: integer
nullable: true
minimum: 0
maximum: 1000000
description: Salary
address:
type: string
minLength: 8
maxLength: 80
description: Employer's address
city:
type: string
minLength: 2
maxLength: 40
description: City of employment
state_code:
type: string
description: State code of employment
zip_code:
type: string
pattern: "^\d{5}(-\d{4})?$"
nullable: true
description: ZIP code of employment
leaving_reason:
type: string
minLength: 10
maxLength: 500
description: Reason for leaving
was_subject_to_fmcsrs:
type: boolean
description: Indicates if subject to FMCSRs
was_job_safety_sensitive:
type: boolean
description: Indicates if the job was safety-sensitive
licenses:
type: array
minItems: 1
items:
type: object
properties:
state_code:
type: string
description: State code of the license
license_no:
type: string
minLength: 5
maxLength: 20
description: License number
license_type:
type: string
enum: ['A_CDL', 'B_CDL']
description: Type of license. List of values in window.vars.SELECT_VALUES
expiration_date:
type: string
format: date
description: Expiration date of the license
equipment_experience:
type: array
nullable: true
items:
type: object
properties:
equipment_type:
type: string
minLength: 2
maxLength: 40
description: Type of equipment experience
experience_years:
type: integer
minimum: 1
maximum: 40
description: Years of experience with the equipment
accidents:
type: array
nullable: true
items:
type: object
properties:
accident_date:
type: string
format: date
description: Date of the accident
injuries:
type: string
minLength: 2
maxLength: 120
description: Injuries from the accident
has_fatalities:
type: boolean
description: Indicates if the accident resulted in fatalities
vehicle_type:
type: string
enum: ['A_CDL', 'B_CDL']
description: Type of vehicle involved in the accident. List of values in window.vars.SELECT_VALUES
traffic_convictions:
type: array
nullable: true
items:
type: object
properties:
conviction_date:
type: string
format: date
description: Date of the traffic conviction
place:
type: string
minLength: 2
maxLength: 120
description: Place of the traffic conviction
violation:
type: string
minLength: 2
maxLength: 120
description: Violation in the traffic conviction
penalty:
type: string
minLength: 2
maxLength: 50
description: Penalty for the traffic conviction
accept_terms:
type: boolean
description: Indicates if the driver accepts the terms
Форма виглядає наступним чином:

Крок 1

Крок 2

Крок 3

Крок 4
На кроці 1:
Currently Employed? == true → show May we contact your present employer?
May we contact your present employer? == true → show Contact
How did you hear about this company? one of [ad, other] → show string input “Please, clarify” (not in the screenshot)
На кроці 3: