{
  "schemaVersion": 1,
  "synthetic": true,
  "artifact": "VoterFile mail-vendor household export field map",
  "rowGrain": "One row per selected deliverable household and intended mail piece",
  "fields": [
    {
      "name": "household_key",
      "type": "string",
      "required": true,
      "vendorDefault": "include_for_reconciliation",
      "definition": "Normalized deliverable-address key used for deterministic householding. Never print."
    },
    {
      "name": "mail_name",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Household-aware addressee for the address block."
    },
    {
      "name": "recipient_name",
      "type": "string",
      "required": true,
      "vendorDefault": "include_for_reconciliation",
      "definition": "Primary voter selected for deterministic record ownership."
    },
    {
      "name": "salutation",
      "type": "string",
      "required": false,
      "vendorDefault": "include_if_personalized",
      "definition": "Household-safe greeting."
    },
    {
      "name": "address_line_1",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Selected mailing address or reviewed residential fallback."
    },
    {
      "name": "address_line_2",
      "type": "string",
      "required": false,
      "vendorDefault": "include",
      "definition": "Unit, suite, or secondary address line when separately parsed."
    },
    {
      "name": "city",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Deliverable postal city."
    },
    {
      "name": "state",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Two-character deliverable postal state."
    },
    {
      "name": "zip",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Original reviewed ZIP or ZIP+4 value."
    },
    {
      "name": "zip5",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "Five-digit ZIP parsed for production checks."
    },
    {
      "name": "zip4",
      "type": "string",
      "required": false,
      "vendorDefault": "include",
      "definition": "Four-digit ZIP extension when present."
    },
    {
      "name": "country",
      "type": "string",
      "required": true,
      "vendorDefault": "include",
      "definition": "ISO-style country code used by the export."
    },
    {
      "name": "address_source",
      "type": "enum",
      "allowedValues": ["mailing", "residential"],
      "required": true,
      "vendorDefault": "include_for_qa",
      "definition": "Shows whether VoterFile selected a mailing address or residential fallback."
    },
    {
      "name": "address_quality",
      "type": "enum",
      "allowedValues": ["ready", "review"],
      "required": true,
      "vendorDefault": "include_for_qa",
      "definition": "Production release state. Review rows must be resolved or explicitly dispositioned."
    },
    {
      "name": "qa_flags",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "include_for_qa",
      "definition": "Address and household warnings such as out_of_state, invalid_zip, residential_fallback, and multi_voter_household."
    },
    {
      "name": "voter_count",
      "type": "integer",
      "required": true,
      "vendorDefault": "include_for_reconciliation",
      "definition": "Selected voters represented by the household row."
    },
    {
      "name": "registration_ids",
      "type": "pipe_delimited_string",
      "required": true,
      "vendorDefault": "include_for_reconciliation",
      "definition": "Source registration identifiers represented by the household. Never print."
    },
    {
      "name": "voter_names",
      "type": "pipe_delimited_string",
      "required": true,
      "vendorDefault": "include_for_qa",
      "definition": "Selected voters represented by the household."
    },
    {
      "name": "party_preferences",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude_unless_required",
      "definition": "Campaign targeting context. Omit from the production file unless the approved creative requires it."
    },
    {
      "name": "counties",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "include_for_qa",
      "definition": "Source county context."
    },
    {
      "name": "precincts",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude_unless_required",
      "definition": "Source precinct context for campaign reconciliation."
    },
    {
      "name": "language_preferences",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "include_if_versioned",
      "definition": "Campaign-approved creative or language-version routing."
    },
    {
      "name": "support_levels",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign CRM context. Keep out of a normal print-production file."
    },
    {
      "name": "contact_statuses",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign contact history. Keep out of a normal print-production file."
    },
    {
      "name": "canvass_results",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign field outcomes. Keep out of a normal print-production file."
    },
    {
      "name": "issue_tags",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign-entered issue context. Include only when an approved production job requires segmentation."
    },
    {
      "name": "survey_responses",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign-entered survey context. Keep out of a normal print-production file."
    },
    {
      "name": "notes",
      "type": "pipe_delimited_string",
      "required": false,
      "vendorDefault": "exclude",
      "definition": "Campaign-entered CRM notes. Keep out of the vendor file unless explicitly required and approved."
    }
  ]
}
