5.4 KiB
5.4 KiB
AI Document Extraction Prompt — Country-Specific Field Mapping
Overview
Extract driver registration fields from uploaded document images. Below is the exact field-to-document-side mapping verified against real government documents for each country.
Field Extraction Matrix
| Field | Jordan | Syria | Egypt |
|---|---|---|---|
first_name + last_name |
ID front, License front | ID front, License front | ID front, License front |
national_number |
ID front, License front | ID front (bottom), License front | ID front, License front |
birthdate |
ID front, License front | ID front, License front | ID front (above national number, left side) |
gender |
ID front | ID back | ID back |
address |
ID back, License front | ID back | ID front, License front |
site (مكان القيد) |
ID back | ID back | — |
maritalStatus |
Not on ID (null) |
Not on ID (null) |
ID back |
license_type |
License front (symbols/numbers at bottom) | License front | License front |
license_categories |
— | License back (detailed) | — |
issue_date |
License front | License front | License front |
expiry_date |
License front | License front | License front |
owner |
Car reg front | Car reg front | Car reg front |
car_plate |
Car reg front | Car reg front | Car reg front |
make, model, year |
Car reg front | Car reg front | Car reg back |
color |
Car reg front | Car reg front | Car reg back |
vin |
Car reg front | Car reg front | Car reg back |
fuel |
Car reg front | Car reg front | Car reg back |
expiration_date |
Car reg front | Car reg front | Car reg back |
Country-Specific Details
🇯🇴 Jordan
- ID Front: Full name (one line → split to
first_name+last_name),national_number,gender,birthdate, place of birth, mother's name - ID Back: Place of registration (
site), card expiry date, place of issue,address - License Front: Full name + English,
national_number,birthdate,address, license number,issue_date,expiry_date,license_type(symbols/numbers) - License Back: Blood type, medical restrictions/notes only
- Car Reg Front: All vehicle data (
owner,car_plate,make,model,year,color,vin,fuel,expiration_date) - Note:
maritalStatusdoes NOT appear on Jordanian documents → set tonull
🇸🇾 Syria
- ID Front: Full name (first name + father name + mother name + last name), place of birth,
birthdate,national_number(bottom) - ID Back: Registration (
site),address,gender, eye color, complexion, distinguishing marks, issue date - License Front: Name, father name,
national_number,birthdate,issue_date,expiry_date - License Back:
license_categories(detailed categories) - Car Reg Front: All vehicle data (
owner,car_plate,make,model,year,color,vin,fuel,expiration_date) - Note:
maritalStatusdoes NOT appear on Syrian documents → set tonull
🇪🇬 Egypt
- ID Front: Full name (first name + rest), complete
address,birthdate(printed on front, above national number, left side),national_number(14 digits) - ID Back: Occupation,
maritalStatus,gender(ذكر/أنثى), religion, issue date, expiry date - License Front: Name,
address,national_number,issue_date,expiry_date, license type/grade - Car Reg Back: All technical vehicle data (
make,model,year,vin,fuel,color,expiration_date) - Note:
birthdateis on ID front, not back
Criminal Record Verification
full_name— name on documentresult— varies: "لا حكم عليه" (Syria), "عدم محكومية" (Jordan), "فيش وتشبيه" (Egypt)is_valid— true/false (document is valid and current)
Face Matching
profile_vs_id— match/mismatch/unclearprofile_vs_license— match/mismatch/unclear
Output Format
Return ONLY raw JSON:
{
"status": "success|failure",
"face_match_confidence": "high|medium|low",
"driver": {
"first_name": "",
"last_name": "",
"phone": "",
"email": "",
"gender": "Male|Female",
"birthdate": "YYYY-MM-DD",
"national_number": "",
"site": "",
"address": "",
"maritalStatus": "",
"license_type": "",
"license_categories": "",
"issue_date": "YYYY-MM-DD",
"expiry_date": "YYYY-MM-DD",
"licenseIssueDate": "YYYY-MM-DD"
},
"car": {
"owner": "",
"car_plate": "",
"make": "",
"model": "",
"year": "",
"color": "",
"color_hex": "",
"fuel": "",
"vin": "",
"expiration_date": "YYYY-MM-DD"
},
"criminal_record": {
"full_name": "",
"result": "",
"is_valid": true
},
"face_matching": {
"profile_vs_id": "match|mismatch|unclear",
"profile_vs_license": "match|mismatch|unclear"
}
}
Rules
- Convert Eastern-Arabic digits (٠١٢٣٤٥٦٧٨٩) to Western (0-9).
- Dates in ISO format:
YYYY-MM-DD. - If unreadable/missing → set to
null, do NOT fail. - Fail only on: face mismatch, forged/fake documents, or missing primary identity.
national_numberandvinmust contain only Latin digits/characters.- Normalize color names: "أبيض" → "White", with hex code.
- Return ONLY raw JSON → no markdown formatting.
- Refer to the Field Extraction Matrix above: extract each field from the correct document side.