{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "us/dos/international-driving-permit-aaa",
  "version": "1.0.0",
  "title": "United States International Driving Permit (IDP), issued by AAA",
  "description": "Apply for a U.S. International Driving Permit (IDP) — a translation document recognized in over 150 countries under the 1949 Geneva Convention on Road Traffic, valid only alongside a current U.S. or U.S.-territorial driver's license — through the American Automobile Association (AAA), one of the two entities the U.S. Department of State authorizes to issue IDPs (the other is the American Automobile Touring Alliance, see us/dos/international-driving-permit-aata). AAA membership is NOT required. This document models AAA's own paper application form (used for its in-person and mail channels; AAA also offers a functionally equivalent online channel at AAA-IDP.com) and ends at submission — AAA reviews the application, prints, and mails or hands over the physical permit; the live aaa.com source is always authoritative (see VERIFICATION.md).",
  "status": "draft",
  "jurisdiction": {
    "country": "US",
    "level": "national"
  },
  "authority": {
    "name": "U.S. Department of State",
    "abbreviation": "DOS",
    "url": "https://travel.state.gov",
    "operatedBy": {
      "name": "American Automobile Association",
      "abbreviation": "AAA",
      "url": "https://www.aaa.com/vacation/idpf.html",
      "basis": "Designated issuer of International Driving Permits under the 1949 Geneva Convention on Road Traffic and U.S. Department of State authorization (GSP-0020)."
    }
  },
  "process": {
    "type": "application",
    "language": "en-US"
  },
  "source": {
    "url": "https://www.aaa.com/vacation/IDPapplication.pdf",
    "retrievedAt": "2026-07-02",
    "documentRef": "AAA International Driving Permit / Inter-American Driving Permit Application form, plus https://www.aaa.com/vacation/idpf.html"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-02",
    "verifiedBy": "GovSchema Engineering (Founding Engineer)",
    "nextReviewBy": "2027-01-02",
    "notes": "Source-derived reference schema authored from two primary sources: (1) AAA's own two-page IDP/IADP application PDF (aaa.com/vacation/IDPapplication.pdf), which supplied the full applicant-facing field set, applicant qualifications, permit restrictions, and fee; (2) the aaa.com/vacation/idpf.html overview page, which supplied the three application channels (in-person, mail, online at AAA-IDP.com) and their distinct processing times/fees (in-person same-day; online 5 business days plus shipping, plus a $10 online photo fee; mail 5-7 weeks). This document models the paper application's field set, which is channel-agnostic apart from the mailApplicationLicensePhotocopyAttached field (mail-only per the form's own REQUIREMENTS section) and the online-only $10 photo fee (out of scope: this schema does not model AAA-IDP.com's own online-specific screens, only the requirements the printed form documents). Authored per GSP-0020 (accepted 2026-07-02) as the first authority.operatedBy schema, resolving GOV-587; a companion schema, us/dos/international-driving-permit-aata, models the American Automobile Touring Alliance's coexisting online-only issuance channel. Status remains 'draft' pending independent field-by-field re-verification. See VERIFICATION.md."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Founding Engineer)",
    "assertedAt": "2026-07-02"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "applicantIsAtLeast18",
      "label": "Applicant is eighteen years or older",
      "type": "boolean",
      "required": true,
      "description": "Applicant qualification: an IDP can only be issued to an applicant who is at least 18 years old.",
      "sourceRef": "IDP/IADP Application — APPLICANT QUALIFICATIONS"
    },
    {
      "name": "holdsValidUSOrTerritorialLicense",
      "label": "Holds a valid U.S.A. or territorial driver's license",
      "type": "boolean",
      "required": true,
      "description": "Applicant qualification: the license must not be suspended or revoked. The IDP is valid only in conjunction with this license and only as long as the license remains valid, not to exceed one year from IDP issuance.",
      "sourceRef": "IDP/IADP Application — APPLICANT QUALIFICATIONS; PERMIT RESTRICTIONS"
    },
    {
      "name": "applicationMethod",
      "label": "Application method",
      "type": "enum",
      "required": true,
      "description": "in_person = submitted at a AAA branch with immediate/same-day processing; mail = mailed to AAA/IDP with a photocopy of both sides of the license and payment by check or money order (no cash by mail), 5-7 weeks for return mail; online = submitted at AAA-IDP.com with digital photo and license images, 5 business days plus return shipping, and an additional $10 online photo fee.",
      "sourceRef": "aaa.com/vacation/idpf.html — Application Methods; Processing Timelines",
      "validation": { "enum": ["in_person", "mail", "online"] }
    },
    {
      "name": "firstName",
      "label": "First name (must match license exactly)",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "IDP/IADP Application — Please Print / Must Match License Exactly",
      "validation": { "minLength": 1, "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "middleName",
      "label": "Middle name (must match license exactly)",
      "type": "string",
      "required": false,
      "sourceRef": "IDP/IADP Application — Please Print / Must Match License Exactly",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "lastName",
      "label": "Last name (must match license exactly)",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "IDP/IADP Application — Please Print / Must Match License Exactly",
      "validation": { "minLength": 1, "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "email",
      "label": "Email",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Email/Phone line",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "phone",
      "label": "Phone",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Email/Phone line",
      "validation": { "maxLength": 30 },
      "classification": "pii"
    },
    {
      "name": "driversLicenseNumber",
      "label": "Driver's license number",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Driver's License Number/State of Issue/Expiration Date line",
      "validation": { "maxLength": 30 },
      "classification": "sensitive-pii"
    },
    {
      "name": "driversLicenseStateOfIssue",
      "label": "State of issue",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Driver's License Number/State of Issue/Expiration Date line",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "driversLicenseExpirationDate",
      "label": "License expiration date",
      "type": "date",
      "required": true,
      "sourceRef": "IDP/IADP Application — Driver's License Number/State of Issue/Expiration Date line"
    },
    {
      "name": "birthplaceCity",
      "label": "Birthplace city",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Birthplace City/State or Country/Birth Date line",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "birthplaceStateOrCountry",
      "label": "Birthplace state or country",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Birthplace City/State or Country/Birth Date line",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "dateOfBirth",
      "label": "Birth date",
      "type": "date",
      "required": true,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "IDP/IADP Application — Birthplace City/State or Country/Birth Date line",
      "classification": "sensitive-pii"
    },
    {
      "name": "homeAddressStreet",
      "label": "Home address street",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Home Address Street/City/State/Zip line",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "homeAddressCityStateZip",
      "label": "Home address city/state/zip",
      "type": "string",
      "required": true,
      "sourceRef": "IDP/IADP Application — Home Address Street/City/State/Zip line",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "foreignAddressIfKnown",
      "label": "Foreign address, if known",
      "type": "string",
      "required": false,
      "description": "Where the applicant can be reached abroad, if known at the time of application.",
      "sourceRef": "IDP/IADP Application — Foreign address if known",
      "validation": { "maxLength": 300 },
      "classification": "pii"
    },
    {
      "name": "departureDateFromUSA",
      "label": "Departure date from the U.S.A.",
      "type": "date",
      "required": false,
      "sourceRef": "IDP/IADP Application — Departure Date from the U.S.A. / Permit Effective Date line"
    },
    {
      "name": "permitEffectiveDate",
      "label": "Permit effective date",
      "type": "date",
      "required": true,
      "description": "Must be effective within 6 months of the application date; the permit does not give driving privileges before this date and is not valid for driving within the United States.",
      "sourceRef": "IDP/IADP Application — Permit Effective Date (Within 6mo of Application); PERMIT RESTRICTIONS",
      "validation": { "maxLength": 20 }
    },
    {
      "name": "desiredPermitType",
      "label": "Desired permit",
      "type": "enum",
      "required": true,
      "description": "international_driving_permit covers the ~150 countries recognizing the 1949 Geneva Convention IDP. inter_american_driving_permit instead covers the smaller list of countries honoring the 1943 Inter-American convention (currently Brazil and Uruguay per the form's own country list).",
      "sourceRef": "IDP/IADP Application — CHECK DESIRED PERMIT",
      "validation": { "enum": ["international_driving_permit", "inter_american_driving_permit"] }
    },
    {
      "name": "licensedVehicleType",
      "label": "Vehicle type your current license applies to",
      "type": "enum",
      "required": true,
      "description": "The permit is issued for the same vehicle class(es) as the applicant's underlying U.S./territorial license.",
      "sourceRef": "IDP/IADP Application — PLEASE CHECK BOX of the vehicle type your current valid driver's license applies",
      "validation": { "enum": ["motorcycle", "passenger_car", "vehicle_over_7700lbs", "vehicle_over_8_seat", "vehicle_with_heavy_trailer"] }
    },
    {
      "name": "passportPhotosAttached",
      "label": "2 identical passport-type photos (2\"x2\"), signed on back, attached",
      "type": "boolean",
      "required": true,
      "sourceRef": "IDP/IADP Application — REQUIREMENTS item 1"
    },
    {
      "name": "permitFeePaid",
      "label": "$20.00 permit fee paid",
      "type": "boolean",
      "required": true,
      "description": "Fee is per permit. Mail applications must pay by check or money order only; no cash by mail.",
      "sourceRef": "IDP/IADP Application — REQUIREMENTS item 2; FEE FOR EACH PERMIT $20.00",
      "classification": "financial"
    },
    {
      "name": "onlinePhotoFeePaid",
      "label": "$10.00 online photo fee paid",
      "type": "boolean",
      "required": false,
      "description": "Additional fee charged only when applying through the online channel (AAA-IDP.com); does not apply to in-person or mail applications.",
      "sourceRef": "aaa.com/vacation/idpf.html — Fees",
      "classification": "financial",
      "visibleWhen": { "field": "applicationMethod", "equals": "online" }
    },
    {
      "name": "mailApplicationLicensePhotocopyAttached",
      "label": "Photocopy of both sides of U.S. driver's license attached (mail applications only)",
      "type": "boolean",
      "required": false,
      "sourceRef": "IDP/IADP Application — REQUIREMENTS item 3",
      "requiredWhen": { "field": "applicationMethod", "equals": "mail" }
    },
    {
      "name": "expeditedReturnPostageAmount",
      "label": "Additional postage for expedited return mail (optional)",
      "type": "number",
      "required": false,
      "description": "Optional additional U.S.-funds postage for expedited return mail; only relevant to mail applications.",
      "sourceRef": "IDP/IADP Application — REQUIREMENTS item 4",
      "classification": "financial",
      "visibleWhen": { "field": "applicationMethod", "equals": "mail" }
    },
    {
      "name": "certifiesInformationTrueAndLicenseNotSuspendedOrRevoked",
      "label": "Certifies the information is true and the license has not been suspended or revoked",
      "type": "boolean",
      "required": true,
      "sourceRef": "IDP/IADP Application — certification statement above signature"
    },
    {
      "name": "signature",
      "label": "Signature",
      "type": "string",
      "required": true,
      "description": "Signature is mandatory for issuance of the permit.",
      "sourceRef": "IDP/IADP Application — SIGNATURE (mandatory for issuance of permit)",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "signatureDate",
      "label": "Signature date",
      "type": "date",
      "required": true,
      "sourceRef": "IDP/IADP Application — SIGNATURE / Date"
    },
    {
      "name": "mailReturnAddress",
      "label": "Return address (mail applications only)",
      "type": "string",
      "required": false,
      "description": "Printed return name and address used as the mailing label for the physical permit.",
      "sourceRef": "IDP/IADP Application — If applying by mail, this is your return label",
      "validation": { "maxLength": 300 },
      "classification": "pii",
      "requiredWhen": { "field": "applicationMethod", "equals": "mail" }
    }
  ],
  "steps": [
    {
      "id": "eligibility",
      "title": "Applicant qualifications",
      "fields": ["applicantIsAtLeast18", "holdsValidUSOrTerritorialLicense"],
      "transitions": [
        {
          "to": null,
          "exitReason": "not-eligible",
          "when": { "field": "applicantIsAtLeast18", "equals": false }
        },
        {
          "to": null,
          "exitReason": "not-eligible",
          "when": { "field": "holdsValidUSOrTerritorialLicense", "equals": false }
        },
        { "to": "channel_and_identity" }
      ]
    },
    {
      "id": "channel_and_identity",
      "title": "Application channel and identity",
      "fields": ["applicationMethod", "firstName", "middleName", "lastName", "email", "phone"],
      "next": "birth_and_license"
    },
    {
      "id": "birth_and_license",
      "title": "License details and place/date of birth",
      "fields": [
        "driversLicenseNumber",
        "driversLicenseStateOfIssue",
        "driversLicenseExpirationDate",
        "birthplaceCity",
        "birthplaceStateOrCountry",
        "dateOfBirth"
      ],
      "next": "address_and_travel"
    },
    {
      "id": "address_and_travel",
      "title": "Address and travel details",
      "fields": [
        "homeAddressStreet",
        "homeAddressCityStateZip",
        "foreignAddressIfKnown",
        "departureDateFromUSA",
        "permitEffectiveDate"
      ],
      "next": "permit_selection"
    },
    {
      "id": "permit_selection",
      "title": "Permit type and vehicle class",
      "fields": ["desiredPermitType", "licensedVehicleType"],
      "next": "requirements_and_fees"
    },
    {
      "id": "requirements_and_fees",
      "title": "Photos, fees, and mail-only requirements",
      "fields": [
        "passportPhotosAttached",
        "permitFeePaid",
        "onlinePhotoFeePaid",
        "mailApplicationLicensePhotocopyAttached",
        "expeditedReturnPostageAmount"
      ],
      "next": "certification"
    },
    {
      "id": "certification",
      "title": "Certification and signature",
      "fields": [
        "certifiesInformationTrueAndLicenseNotSuspendedOrRevoked",
        "signature",
        "signatureDate",
        "mailReturnAddress"
      ]
    }
  ]
}
