March 2020
The following is an excerpt from the SP 1500-102 V1 specification. It contains the specification’s executive summary and class documentation.
The complete publication including JSON and XML schemas is available free of charge from:
https://github.com/usnistgov/VoterRecordsInterchange
Voter records are exchanged between an increasing number of entities. Whether it is voter registration offered during an interaction at the motor vehicles administration (MVA), an update to a voter record using an online portal, records exchanged as part of a voter matching database, or requests for absentee ballots, all of these systems need a common data format to effectively communicate.
However, the data exchanged is generally in a non-uniform format. This can cause a number of complications in that each state/territory, or sometimes each individual portal application, may have its own format that must be interpreted and translated on the receiving end. Voter addresses, in particular, are often provided to voter registration (VR) authorities in formats that are difficult to efficiently store in voter registration databases and use in various related applications. The collection of accurate voter registration address information is central to the routing of voter registration requests and subsequently in assigning voters to election districts. Each voter records application being developed must then be aware of each state’s specific formats or design its own format, which complicates development and inhibits the implementation of digital voter record systems.
This specification assists election officials and developers in more easily implementing and supporting the development of online voter registration (OVR) systems by providing them with a uniform common data format for voter records interchange (VRI), that is, the voter registration requests and responses needed for OVR and for voter records maintenance. The languages used in the common data format are XML (eXtensible Markup Language) and JSON (JavaScript Object Notation).
The advantages of using this specification include:
This specification provides background and explanation of how online voter registration typically works, using the data required by the National Voter Registration Act (NVRA) and Federal Post Card Application (FPCA) voter registration forms, including state-specific additions to these forms. It then contains an explanation of a UML (Unified Markup Language) model that was created to detail the data elements required in voter registration requests and responses. The UML model was used to generate XML and JSON schemas, which are both explained and used in various implementation examples.
The intended audience of this specification includes election officials, VR system designers and developers, and others in the election community including the general public. Some background in election administration and registration is useful in understanding the material in this specification.
Used in request and response messages.
Enumeration for assertions from a voter or a third party such as a department of motor vehicles (DMV) in response to questions on a registration form, used in the Assertion attribute of VoterClassification.
Name | Value |
---|---|
no |
For a voter’s or third party’s assertion of “no” or “false”. |
yes |
For a voter’s or third party’s assertion of “yes” or “true”. |
unknown |
For a voter’s or third party’s assertion of “unknown”. |
other |
For a voter’s or third party’s assertion of “other”. |
Used in request messages.
Enumeration for methods for delivering a ballot to the voter, used in the BallotReceiptPreference attribute of BallotRequest. The sub-element may be repeated multiple times with different values as applicable, e.g., to specify both mail and online.
Name | Value |
---|---|
email |
For email only. |
email-or-online |
For electronic mail or downloadable from a website (this value is ambiguous, thus the separate values for email and online). |
fax |
For use of a fax. |
mail |
For postal mail. |
online |
For downloadable from a website, e.g., the voter is sent a hypertext link to a ballot. |
Used in request and response messages.
Enumeration for methods for contacting a voter or an election administration office, used in the Type attribute of ContactMethod.
Name | Value |
---|---|
email |
For electronic mail. |
phone |
For use of a phone. |
other |
Used when the type of contact method is not included in this enumeration. |
Used in request and response messages.
Enumeration for election data-related codes in the ExternalIdentifier class.
Name | Value |
---|---|
fips |
For FIPS codes. |
local-level |
For a code that is specific to a county or other similar locality. |
national-level |
For a code that is used at the national level other than ocd-id. |
ocd-id |
For Open Civic Data identifiers. |
state-level |
For a code that is specific to a state. |
other |
Used when the type of code is not included in this enumeration. |
Used in request and response messages.
Enumeration for telephone capabilities, used in the Capability attribute of PhoneContactMethod.
Name | Value |
---|---|
fax |
For telephones that include facsimile capabilities. |
mms |
For telephones that contain Multimedia Messaging Service (MMS) capabilities. |
sms |
For telephones that contain Short Messaging Service (SMS) capabilities. |
voice |
For telephones that contain voice capabilities. |
Used in request and response messages.
Enumeration for the type of geopolitical unit, used in the Type sub-element in the ReportingUnit element.
Name | Value |
---|---|
ballot-batch |
Used for reporting batches of ballots that may cross precinct boundaries. |
ballot-style-area |
Used for ballot style areas generally composed of precincts. |
borough |
Used in CT, NJ, PA, other states, and New York City for boroughs. For AK and LA, see county. |
city |
Used for a city that reports results and/or for the district that encompasses it. |
city-council |
Used for city council districts. |
combined-precinct |
Used for one or more precincts that have been combined for the purposes of reporting. Used for “Ward” if “Ward” is used interchangeably with “CombinedPrecinct”. |
congressional |
Used for U.S. Congressional districts. |
county |
Used for a county and/or for the district that encompasses it. In AK, used for counties that are called boroughs. In LA, used for parishes. |
county-council |
Used for county council districts. |
drop-box |
Used for a dropbox for absentee ballots. |
judicial |
Used for judicial districts. |
municipality |
Used as applicable for various units such as towns, townships, villages that report votes and/or for the district that encompasses it. |
polling-place |
Used for a polling place. |
precinct |
Used also for “Ward” or “District” when these terms are used interchangeably with “Precinct”. |
school |
Used for a school district. |
special |
Used for a special district. |
split-precinct |
Used for splits of precincts. |
state |
Used for a state and/or for the district that encompasses it. |
state-house |
Used for a state house or assembly district. |
state-senate |
Used for a state senate district. |
town |
Used in some New England states as a type of municipality that reports votes and/or for the district that encompasses it. |
township |
Used in some mid-western states as a type of municipality that reports votes and/or for the district that encompasses it. |
utility |
Used for a utility district. |
village |
Used as a type of municipality that reports votes and/or for the district that encompasses it. |
vote-center |
Used for a vote center. |
ward |
Used for combinations or groupings of precincts or other units. |
water |
Used for a water district. |
other |
Used for other types of reporting units not included in this enumeration. |
Used in response messages.
Enumeration for registration-related errors, used in the Error attribute of RegistrationRejection.
Name | Value |
---|---|
identity-lookup-failed |
A lookup on the voter’s identity failed. |
incomplete |
The registration request is incomplete. |
ineligible |
The voter is ineligible to be registered. |
invalid-form |
The registration form specified is invalid. |
other |
Used when the type of error is not included in this enumeration. |
Used in request messages.
Enumeration for types of registration forms, used in the RegistrationForm attribute of VoterRecordsRequest.
Name | Value |
---|---|
fpca |
For the Federal Post Card Application form. |
nvra |
For the National Voter Registration Act form. |
other |
Used when the type of form is not included in this enumeration. |
Used in request messages.
Enumeration for the method used by the voter to register, used in the RequestMethod attribute of VoterRecordsRequest.
Name | Value |
---|---|
armed-forces-recruitment-office |
The voter assisted by an armed forces recruitment office. |
motor-vehicle-office |
The voter via an MVA/DMV. |
other-agency-designated-by-state |
The voter assisted by an unspecified state-designated agency. |
public-assistance-office |
The voter assisted by a public assistance office. |
registration-drive-from-advocacy-group-or-political-party |
The voter via a registration drive. |
state-funded-agency-serving-persons-with-disabilities |
The voter assisted by a state-designated agency serving persons with disabilities. |
voter-via-election-registrars-office |
The voter via an election or registrar’s office. |
voter-via-email |
The voter via email. |
voter-via-fax |
The voter via fax. |
voter-via-internet |
The voter via the Internet, e.g., a website. |
voter-via-mail |
The voter via postal mail. |
unknown |
The method used is unknown. |
other |
Used when the type of method is not included in this enumeration. |
Used in request messages.
Enumeration for the registration proxy, e.g., the MVA/DMV , involved in the voter’s registration request, used in the Type attribute of RegistrationProxy.
Name | Value |
---|---|
armed-forces-recruitment-office |
The voter assisted by an armed forces recruitment office. |
motor-vehicle-office |
The voter via an MVA/DMV. |
other-agency-designated-by-state |
The voter assisted by an unspecified state-designated agency. |
public-assistance-office |
The voter assisted by a public assistance office. |
registration-drive-from-advocacy-group-or-political-party |
The voter via a registration drive. |
state-funded-agency-serving-persons-with-disabilities |
The voter assisted by a state-designated agency serving persons with disabilities. |
other |
Used when the type of source is not included in this enumeration. |
Used in request and response messages.
Enumeration for source of the voter’s signature, used in the Source sub-element of Signature.
Name | Value |
---|---|
dmv |
For the department of motor vehicles or motor vehicle authority. |
local |
For an unspecified local source. |
state |
For an unspecified state source. |
voter |
The voter has included a signature on the form. |
other |
Used when the source of the signature is not included in this enumeration. |
Used in request and response messages.
Enumeration for the type of voter signature, used in the Type sub-element of Signature.
Name | Value |
---|---|
dynamic |
For use with biometrics or other artifacts captured as part of the act of the voter signing the registration form. |
electronic |
For a facsimile of the signature applied to a marking surface, e.g., paper. |
other |
Used when the type of signature is not included in this enumeration. |
Used in response messages.
Enumeration for a response to a voter records request, indicating that the response to the request is successful and the action that occurred, used in the Action sub-element of RegistrationSuccess. The success action may not necessarily match the requested action.
Name | Value |
---|---|
address-updated |
For indicating that an address was updated. |
name-updated |
For indicating that a name was updated. |
registration-cancelled |
For indicating that a registration was cancelled. |
registration-created |
For indicating that a registration was created. |
registration-updated |
For indicating that a registration was updated. |
status-updated |
For indicating that a registration status was updated. |
other |
Used for other types of success actions not included in this enumeration. |
Used in request and response messages.
Enumeration for voter status classifications, used in the Type attribute of VoterClassification. Whether the voter status, e.g., eighteen-on-election-day, is true, false, or unknown depends on the value of the Assertion attribute.
Name | Value |
---|---|
activated-national-guard |
The voter is an activated National Guard member on State orders (FPCA). |
active-duty |
The voter is a member of the Uniformed Services or Merchant Marine on active duty (FPCA). |
active-duty-spouse-or-dependent |
The voter is an eligible spouse or dependent (FPCA). |
citizen-abroad-intent-to-return |
The voter is a US citizen residing outside the US and has intention to return (FPCA). |
citizen-abroad-return-uncertain |
The voter is a US citizen residing outside the US and their return is uncertain (FPCA). |
citizen-abroad-never-resided |
The voter is a US citizen and has never resided in the US (FPCA). |
deceased |
The voter is deceased (NVRA). |
declared-incompetent |
The voter has been declared incompetent (NVRA). |
eighteen-on-election-day |
The voter will be 18 on election day (NVRA). |
felon |
The voter is a felon (NVRA). |
permanently-denied |
The voter has not been permanently denied (NVRA). |
protected-voter |
The voter status is protected (NVRA). |
restored-felon |
The voter is a restored felon (NVRA). |
united-states-citizen |
The voter is a United States citizen (NVRA). |
other |
Used when the type of voter classification is not included in this enumeration. |
Used in request messages.
Enumeration for types of registration helpers, used in the Type attribute of RegistrationHelper.
Name | Value |
---|---|
assistant |
For a registration assistant. |
witness |
For a registration witness. |
Used in request and response messages.
Enumeration for the type of voter ID, used in the Type attribute of VoterId.
Name | Value |
---|---|
drivers-license |
Used for a driver’s license. |
local-voter-registration-id |
Used for a local voter registration record ID. |
ssn |
Used for a complete Social Security number. |
ssn4 |
Used for the last four digits of a Social Security number. |
state-id |
Used for a state ID that is not a state voter registration ID. |
state-voter-registration-id |
Used for a state’s voter registration record ID. |
unspecified-document |
Used for an unspecified document, not known whether the document contains name, address, or photo ID. |
unspecified-document-with-name-and-address |
Used for a document that contains the voter’s name and address, such as a utility bill. |
unspecified-document-with-photo-identification |
Used for a document that contains a photograph of the voter. |
unknown |
Used for documentation that was not captured. |
other |
Used when the type of ID is not included in this enumeration. |
Used in request messages.
Enumeration for the type of voter records request, used in the Type attribute of VoterRecordsRequest.
Name | Value |
---|---|
ballot-request |
For requesting a ballot, possibly in conjunction with an FPCA registration request. |
lookup |
For a voter registration lookup. |
registration |
For a voter registration request. |
other |
Used when the type of request is not included in this enumeration. |
Used in response messages. Enumeration for the status of the voter in a Voter Registration Database.
Name | Value |
---|---|
active |
For a voter in active status. |
inactive |
For a voter in inactive status. |
other |
Used when the type of voter status is not included in this enumeration. |
Used in request messages.
Class for specifying information not addressed in this model by other attributes, e.g. state-specific information that does not “fit” in any other attribute. The information will thus be highly specific to the generating application, and consuming applications must “know” the meaning of the information to make use of it. For this reason, use of this class is discouraged as much as is possible.
The StringValue and FileValue attributes are both optional, however exactly one of them must be included.
Used in request messages. An abstract class representing a request for a ballot. Classes for specific types of BallotRequest inherit the attributes and define their own.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
BallotReceiptPreference |
0..* | BallotReceiptMethod |
The voter’s preference on how to receive their ballot in order from their most preferred method to least. If omitted, the default method for the form will be used. |
MailForwardingAddress |
0..1 | Address |
Used in response messages. For referencing a ballot style defined elsewhere, such as in an Election Management System (EMS).
Used in request and response messages.
ElectionAdministration optionally includes this class to specify how to contact the election administration.
Voter optionally includes this class to specify the method for contacting a voter regarding the voter’s request. If the voter can be contacted in multiple ways, the application creating the data should order the occurrences of ContactMethod by priority.
The PhoneContactMethod class uses ContactMethod as a base class, and should be used with when the contact method is for a telephone and it is necessary to describe the capabilities of the telephone.
The Capability attribute is provided by the PhoneContactMethod class.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Type |
1 | ContactMethodType |
The contact method type, e.g. email or phone. |
OtherType |
0..1 | String |
Used when ContactMethodType value is other. |
Value |
1 | String |
The value of the ContactMethod. This will be the text value of the phone number, email address, or other mechanism. The values must be free of any formatting characters, such as parentheses or dashes for a phone number. |
Used in request and response messages. Describes an election event. Only the date of the election is required. Other attributes may be used to describe the election for which a ballot is requested or a voter participated.
Used in response messages.
ElectionAdministration optionally includes ContactMethod to specify contact information for the election authority.
Used in request messages.
Implementation of BallotRequest in which a ballot for a single election event is requested.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{Election} |
1 | Election |
The election for which the ballot is requested. |
Used in response messages.
RequestRejection includes this class to describe the errors that caused the rejection.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
OtherError |
0..1 | String |
Used when Name value is other. |
Name |
1 | RequestError |
Used to indicate the type of error. |
Ref |
0..1 | String |
Reference (e.g. XPath) to the entity that the error applies. |
Used in request and response messages.
BallotStyle, Election, Party and ReportingUnit optionally include this class for associating a jurisdiction’s codes, i.e., identifiers, with political parties or geopolitical units such as counties, towns, precincts, etc. Multiple occurrences of ExternalIdentifier can be used to associate multiple codes, e.g., if there is a desire to associate multiple codes with an object such as state-specific codes as well as OCD-IDs (Open Civic Data Identifiers).
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Type |
1 | IdentifierType |
An identifier type, e.g., FIPS. |
OtherType |
0..1 | String |
Used when Type value is other. |
Value |
1 | String |
The identifier used by the jurisdiction. |
Used in request and response messages.
VoterId optionally uses this class for FileValue to specify a filename for voter identification purposes such as for a utility bill. AdditionalInfo also optionally includes FileValue.
File extends the xsd:base64Binary type to add the attributes for filename and (Multi-Purpose Internet Mail Extensions) MIME type, e.g., application/pdf for a file of type PDF.
The Image element uses this class as an base class, thus Image can be used when the type of file is for an image, e.g., image/png.
Used in request and response messages.
Signature optionally includes this class to indicate that a file contains an image of a voter’s signature. Image uses File as a base class, thus attributes of File can be included in Image.
Used in response messages.
Location optionally includes this element to specify the latitude and longitude of a voter’s voting location.
Used in response messages.
ElectionAdministration and ReportingUnit optionally include this element to specify the address and directions to a voter’s voting location. The LatLng element can be included to specify the latitude and longitude of the voting location.
Used in request and response messages.
Voter includes this class for specifying the name of a voter and, optionally, for specifying a previous name of the voter, using PreviousName instead of Name. RequestHelper also includes this class for specifying the name of a request helper.
Multiple occurrences of the MiddleName attribute can be used as needed, e.g., for names with additional middle names or nicknames such as “John Andrew Winston (Jack) Smith”.
All elements are optional, however at least FullName must be included if the other attributes are not.
Used in request and response messages.
BallotStyle optionally includes this type to specify the associated political party, such as for closed primaries.
Voter optionally includes this type to specify a voter’s political party.
Used in request messages.
Subtype of BallotRequest which serves to request ballots for election events that the voter is qualified on a long term basis. Although “permanent”, the request may be subject to renewal or cancellation procedures.
Used in request and response messages.
RequestHelper, and RequestProxy use this class to specify a telephone number as well as the capabilities of the telephone, e.g., sms, fax, etc.
PhoneContactMethod is subtype of ContactMethod. Thus, the elements that include ContactMethod could use PhoneContactMethod as applicable.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Capability |
0..* | PhoneCapability |
Specifies the phone’s capabilities, e.g., fax, sms. |
Used in response messages.
RequestSuccess and VoterRecord include this class so as to provide a list of geopolitical geography associated with the voter’s registration, e.g., the voter’s precinct, polling place, districts, etc. VoterParticipation optionally includes this class to specify the polling place used by the voter. The Type attribute uses the ReportingUnitType enumeration to specify the type of geopolitical geography being defined. If the reporting unit type is not listed in enumeration ReportingUnitType, use other and include the reporting unit type (that is not listed in the enumeration) in OtherType.
The IsDistricted boolean is not strictly necessary, as it is possible to identify districts by their Type attribute. However, if the type of district is not listed in the ReportingUnitType enumeration and therefore OtherType is used, then IsDistricted is necessary. The IsDistricted boolean can also be used to signify that a ReportingUnit defined as a jurisdiction, e.g., a county, is also used as a district for, e.g., county-wide contests.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{ExternalIdentifier} |
0..* | ExternalIdentifier |
For associating an ID with the ReportingUnit. |
IsDistricted |
0..1 | Boolean |
Boolean to indicate that the reporting unit is a district. |
{Location} |
0..1 | Location |
Location of the district office. |
Name |
0..1 | String |
Name of the reporting unit. |
Type |
1 | ReportingUnitType |
Enumerated type of reporting unit, e.g., district, precinct. |
OtherType |
0..1 | String |
Used when Type value is other. |
Used in response messages. For indicating that the request was received but action on the request is pending.
Used in request messages.
VoterRecordsRequest optionally includes this element to specify information about a request helper, i.e., a request assistant or witness involved in a voter’s request.
RequestHelper optionally includes the Name element to specify the registration helper’s name and optionally includes the Signature element if a registration helper’s signature is required.
Used in request messages.
VoterRecordsRequest optionally includes this class to specify information about a request proxy involved in a voter records request.
OriginTransactionId can be used to include an optional identifier of the originating external transaction from the proxy, e.g., used for the transaction ID generated by a DMV application enacting a voter registration request to a registration portal application (on behalf of a citizen obtaining a driver’s license). This sub-element is not to be confused with TransactionId in VoterRecordsRequest, which is used to include a transaction ID of the voter records request, e.g., the transaction ID of the registration portal’s voter records request.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Address |
0..1 | Address |
An address associated with the proxy. |
Name |
0..1 | String |
A name associated with the proxy. |
OriginTransactionId |
0..1 | String |
An identifier associated with the transaction between the proxy and, e.g., the registration portal. |
Phone |
0..1 | PhoneContactMethod |
A phone number associated with the proxy. |
TimeStamp |
0..1 | date |
The date of the request from the proxy. |
Type |
1 | RequestProxyType |
The type of the requesting proxy, e.g., motor-vehicle-office, public-assistance-office. |
OtherType |
0..1 | String |
Used when OtherType value is other. |
Used in response messages.
For indicating that the request failed. The Error attribute is used to indicate the type of error that occurred. The AdditionalDetails attribute can be used to provide more information as to the rejection.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
AdditionalDetails |
0..* | String |
Used to provide additional details as applicable. |
{Error} |
0..* | Error |
For associating a RequestRejection with one or more Error. |
Used in response messages.
For indicating a successful response to a request. The Action attribute is used to indicate the action that occurred, which may differ from what was requested. For example, a request for a new voter registration may succeed, but if the voter was already registered, the response may indicate a registration update as opposed to a registration create.
The response also includes, optionally, other information useful to the voter, including a description of the voter’s polling place, districts (i.e., contests) associated with the polling place, or other geopolitical geographies such as the voter’s precinct.
Used in request and response messages.
Voter optionally includes this class for specifying information about a voter’s signature on a registration request. If there is a need to include previous signature that uses a different name, e.g., a maiden name, Voter uses PreviousSignature instead of Signature.
RequestHelper optionally includes this class for specifying information about the helper’s signature.
Source is used to specify the source of the voter’s signature, for example, on file at a department of motor vehicles. FileValue is used to include an image of the voter’s signature.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Date |
0..1 | date |
The date of the signature, i.e., when created. |
FileValue |
0..1 | Image |
The signature image in base 64 binary. |
Source |
0..1 | SignatureSource |
A source for the signature, e.g., dmv. |
OtherSource |
0..1 | String |
Used when Source value is other. |
Type |
0..1 | SignatureType |
A signature type, e.g., dynamic. |
OtherType |
0..1 | String |
Used when Type value is other. |
Used in request messages.
Subtype of BallotRequest in which election opportunities that the voter is qualified during a given time frame may be requested.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
StartDate |
1 | date |
The date at which the request comes into effect. |
EndDate |
1 | date |
The date at which the request is no longer effective. |
Used in request and response messages. Contains attributes specific to identifying a voter.
Used in request and response messages.
Voter optionally includes this class to describe a voter’s classification per criteria on the voter’s request form, e.g., united-states-citizen or eighteen-on-election-day.
VoterClassification includes assertions of the voter in response to the voter request form criteria. For example, an assertion of true may be used with a criterion of united-states-citizen. Assertions can be negative, such as providing an assertion of false for a criterion of felon, an assertion of unknown to indicate that the voter does not know whether they meet or do not meet the specific criteria on the form or an assertion of other, in which the assertion is specified by the value of OtherAssertion.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Assertion |
1 | AssertionValue |
A positive, negative, other or unknown assertion |
OtherAssertion |
0..1 | String |
An locally defined assertion value. |
Type |
1 | VoterClassificationType |
A classification type, e.g., felon. |
OtherType |
0..1 | String |
Used when Type value is other. |
Used in request and response messages.
Used to include information about a voter’s identification that may be required in a registration request. Voter includes VoterId.
AttestNoSuchId is used to attest that the voter has no ID of a specified type, thus it must be included with a value of true if attesting that the voter has no ID for that specified type. It can be included with a value of false to attest that the voter does have an ID of the specified type, in which case either StringValue or FileValue must be included; however, it is assumed to be false if not included. The StringValue and FileValue sub-elements are both optional, however at least one of them must be included.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
AttestNoSuchId |
0..1 | Boolean |
Used to attest that the voter has no ID. Assumed to be false if not present. |
DateOfIssuance |
0..1 | date |
Date the ID was issued. |
FileValue |
0..1 | File |
Used to include a file name for the ID. |
StringValue |
0..1 | String |
Used to include the ID as a string. |
Type |
1 | VoterIdType |
The type of voter ID. |
OtherType |
0..1 | String |
Used when Type value is other. |
Used in response messages. For indicating an election that the voter participated in. Participation does not imply a counted ballot.
Used in response messages. Used to represent a voter record stored in a Voter Registration Database (VRDB). VoterRecord optionally contains additional information useful to the voter, including a description of the voter’s polling place, districts associated with the voter’s precinct, or other geopolitical geographies such as the voter’s precinct.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{District} |
0..* | ReportingUnit |
One or more districts associated with the voter’s precinct. |
{ElectionAdministration} |
0..1 | ElectionAdministration |
The election administration that conducts elections for the voter. |
HavaIdRequired |
0..1 | Boolean |
Indicates that the voter must present identification at the polls per HAVA. |
{Locality} |
0..* | ReportingUnit |
Other geographies such as the voter’s precinct. |
{PollingLocation} |
0..1 | ReportingUnit |
The voter’s polling place. |
{Voter} |
1 | Voter |
For details specific to a particular voter. |
{VoterParticipation} |
0..* | VoterParticipation |
For associating a VoterRecord to elections the voter has participated in. |
VoterStatus |
0..1 | VoterStatus |
The status of the VoterRecord, possibly to indicate the ability to receive a regular ballot. |
OtherVoterStatus |
0..1 | String |
Used when VoterStatus value is other. |
Used in response messages.
For indicating a successful response to a lookup request.
A lookup for a single voter may result in multiple VoterRecord being returned. This can occur if the voter has duplicate records in the VRDB, or if the criteria specified in the lookup request was broad.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{VoterRecord} |
0..* | VoterRecord |
The voter record(s) returned. |
The root element for request messages.
For defining items pertaining to the status and type of the voter records request and when it was generated. VoterRecordsRequest includes the Subject association to specify various information about the voter in question. It includes the BallotRequest association to handle a request for an ballot; this request may be part of an FPCA form registration or may be submitted independently.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{AdditionalInfo} |
0..* | AdditionalInfo |
For including other information not specified by this model. |
{BallotRequest} |
0..1 | BallotRequest |
Specifies information relating to a request for a ballot. |
Form |
0..1 | RequestForm |
If the request is for a voter registration, the registration form used by the voter. |
OtherForm |
0..1 | String |
Used when Form value is other. |
GeneratedDate |
1 | date |
The date that the voter records request was generated. |
Issuer |
0..1 | String |
The name of the issuer of the voter records request transaction, e.g., State of West Virginia Voter Registration Portal. |
{RequestHelper} |
0..* | RequestHelper |
Included if the registration involves a registration assistant organization. |
RequestMethod |
1 | RequestMethod |
The method used by the voter to register. |
OtherRequestMethod |
0..1 | String |
Used when RequestMethod value is other. |
{RequestProxy} |
0..1 | RequestProxy |
Included if the registration request is via a proxy, e.g., the DMV. |
SelectedLanguage |
0..1 | language |
The language specified by the voter, if any. |
{Subject} |
1 | Voter |
Specifies information about the voter who is the subject of the request. |
TransactionId |
0..1 | String |
An identifier of the voter records request transaction. |
Type |
1..* | VoterRequestType |
The type of request, e.g., registration. |
OtherType |
0..1 | String |
Used when RequestType value is other. |
VendorApplicationId |
0..1 | String |
An identifier of the vendor application generating the voter registration request, e.g., X-VRDB Version 3.1.a. |
The root element for response messages.
For defining items pertaining to the status of a response to a voter records request. VoterRecordsResponse is an abstract class with four subtypes that get used according to the type of response:
VoterRecordsResponse optionally includes the TransactionId attribute associated with the voter records request.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
TransactionId |
0..1 | String |
Transaction ID associated with the voter records request. |