The State object includes state-wide election information. The ID attribute is
recommended to be the state’s FIPS code, along with the prefix “st”.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
election_administration_id |
xs:IDREF |
Optional |
Single |
Links to the state’s election
administration object. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Other identifier for the state that
relates to another dataset (e.g.
`OCD-ID`_). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Required |
Single |
Specifiers the name of a state, such as
Alabama. |
If the field is invalid, then the
implementation is required to ignore the
State element containing it. |
polling_location_ids |
xs:IDREFS |
Optional |
Single |
Specifies a link to the state’s
polling locations. If early
vote centers or ballot drop locations
are state-wide (e.g., anyone in the
state can use them), they can be
specified here, but you are encouraged
to only use the
precinct element. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,election_administration_id,external_identifier_type,external_identifier_othertype,external_identifier_value,name,polling_location_ids
st51,ea123,ocd-id,,ocd-division/country:us/state:va,Virginia,
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
term_type |
office_term_type |
Optional |
Single |
Specifies the type of office term (see
office_term_type for
valid values). |
If the field is invalid or not present,
the implementation is required to ignore
the Office element containing it. |
term_start_date |
xs:date |
Optional |
Single |
Specifies the start date for the current
term of the office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
term_end_date |
xs:date |
Optional |
Single |
Specifies the end date for the current
term of the office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
Office
represents the office associated with a contest or district (e.g. Alderman, Mayor,
School Board, et al).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information_id |
xs:IDREF |
Optional |
Repeats |
Links to the
single-csv-contact-information
element associated with the office. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
description |
xs:string |
Optional |
Single |
A brief description of the office and
its purpose. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
electoral_district_id |
xs:IDREF |
Required |
Single |
Links to the
electoral_district
element associated with the office. |
If the field is invalid or not present,
the implementation is required to ignore
the Office element containing it. |
external_identifiers |
xs:IDREF |
Optional |
Single |
Other identifiers that link this office
to other related datasets (e.g. campaign
finance systems, OCD IDs, et al.). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
filing_deadline |
xs:date |
Optional |
Single |
Specifies the date and time when a
candidate must have filed for the
contest for the office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_partisan |
xs:boolean |
Optional |
Single |
Indicates whether the office is
partisan. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
name |
xs:string |
Required |
Single |
The name of the office. |
If the field is invalid or not present,
the implementation is required to ignore
the Office element containing it. |
office_holder_person_ids |
xs:IDREFS |
Optional |
Single |
Links to the person
element(s) that hold additional
information about the current office
holder(s). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
term |
single-csv-term |
Optional |
Single |
Defines the term the office can be held. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
| id,electoral_district_id,external_identifier_type,external_identifier_othertype,external_identifier_value,filing_deadline,is_partisan,name,office_holder_person_ids,term_type,term_start_date,term_end_date
off001,ed001,,,,,true,Deputy Chief of Staff,per50003,full-term,2002-01-21,
off002,ed001,,,,,true,Deputy Deputy Chief of Staff,per50001,unexpired-term,2002-01-21,
off003,ed001,,,,,false,General Secretary of Secretaries,per50004,full-term,2002-01-21,
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
term_type |
office_term_type |
Optional |
Single |
Specifies the type of office term (see
office_term_type for
valid values). |
If the field is invalid or not present,
the implementation is required to ignore
the Office element containing it. |
term_start_date |
xs:date |
Optional |
Single |
Specifies the start date for the current
term of the office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
term_end_date |
xs:date |
Optional |
Single |
Specifies the end date for the current
term of the office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
The Election object represents an Election Day, which usually consists of many individual contests
and/or referenda. A feed must contain exactly one Election object. All relationships in the
feed (e.g., street segment to precinct to polling location) are assumed to relate only to
the Election specified by this object. It is permissible, and recommended, to combine unrelated
contests (e.g., a special election and a general election) that occur on the same day into one feed
with one Election object.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
date |
xs:date |
Required |
Single |
Specifies when the election is being
held. The Date is considered to be in
the timezone local to the state holding
the election. |
If the field is invalid, then the
implementation is required to ignore the
Election element containing it. |
election_type |
xs:string |
Optional |
Single |
Specifies the highest controlling
authority for election (e.g., federal,
state, county, city, town, etc.) |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
state_id |
xs:IDREF |
Required |
Single |
Specifies a link to the State element
where the election is being held. |
If the field is invalid, then the
implementation is required to ignore the
Election element containing it. |
is_statewide |
xs:boolean |
Optional |
Single |
Indicates whether the election is
statewide. |
If the field is not present or invalid,
the implementation is required to
default to “yes”. |
name |
xs:string |
Optional |
Single |
The name for the election (NB: while
optional, this element is highly
recommended). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
registration_info |
xs:string |
Optional |
Single |
Specifies information about registration
for this election either as text or a
URI. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
absentee_ballot_info |
xs:string |
Optional |
Single |
Specifies information about requesting
absentee ballots either as text or a URI |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
results_uri |
xs:anyURI |
Optional |
Single |
Contains a URI where results for the
election may be found |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
polling_hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
Election Day polling locations are open.
If polling hours differ in specific
polling locations, alternative hours may
be specified in the
polling_location
object (NB: this element is deprecated
in favor of the more structured
:ref:`single-csv-hours-open` element. It
is strongly encouraged that data
providers move toward contributing hours
in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_ids |
xs:IDREF |
Optional |
Single |
References the
hours_open element,
which lists the hours of operation for
polling locations. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
has_election_day_registration |
xs:boolean |
Optional |
Single |
Specifies if a voter can register on the
same day of the election (i.e., the last
day of the election). Valid items are
“yes” and “no”. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
registration_deadline |
xs:date |
Optional |
Single |
Specifies the last day to register for
the election with the possible exception
of Election Day registration. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
absentee_request_deadline |
xs:date |
Optional |
Single |
Specifies the last day to request an
absentee ballot. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,date,name,election_type,state_id,is_statewide,registration_info,absentee_ballot_info,results_uri,polling_hours,has_election_day_registration,registration_deadline,absentee_request_deadline,hours_open_id
e001,10-08-2016,Best Hot Dog,State,st51,true,www.registrationinfo.com,You can vote absentee,http://hotdogcontest.gov/results,Noon to 3p.m.,true,10/08/2016,,ho002
|
A base model for all ballot selection types:
ballot_measure_selection,
candiate_selection, and party_selection.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
sequence_order |
xs:integer |
Optional |
Single |
The order in which a selection can be
listed on the ballot or in results. This
is the default ordering, and can be
overridden by OrderedBallotSlectionIds
in ordered_contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
The Source object represents the organization that is publishing the information. This object is
the only required object in the feed file, and only one source object is allowed to be present.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
name |
xs:string |
Required |
Single |
Specifies the name of the organization
that is providing the information. |
If the field is invalid, then the
implementation is required to ignore the
Source element containing it. |
vip_id |
xs:string |
Required |
Single |
Specifies the ID of the organization.
VIP uses FIPS_ codes for this ID. |
If the field is invalid, then the
implementation is required to ignore the
Source element containing it. |
date_time |
xs:dateTime |
Required |
Single |
Specifies the date and time of the feed
production. The date/time is considered
to be in the timezone local to the
organization. |
If the field is invalid, then the
implementation is required to ignore the
Source element containing it. |
description |
xs:string |
Optional |
Single |
Specifies both the nature of the
organization providing the data and what
data is in the feed. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
organization_uri |
xs:string |
Optional |
Single |
Specifies a URI to the home page of the
organization publishing the data. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
feed_contact_information_id |
xs:IDREF |
Optional |
Single |
Reference to the
person who will
respond to inquiries about the
information contained within the file. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
terms_of_use_uri |
xs:anyURI |
Optional |
Single |
Specifies the website where the Terms of
Use for the information in this file can
be found. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
version |
xs:string |
Required |
Single |
Specifies the version of the data |
If the field is invalid, then the
implementation is required to ignore the
Source element containing it. |
| id,date_time,description,name,organization_uri,terms_of_use_uri,vip_id,version
source01,2016-06-02T10:24:08,SBE is the official source for Virginia data,"State Board of Elections, Commonwealth of Virginia",http://www.sbe.virginia.gov/,http://example.com/terms,51,5.1
|
The BallotMeasureContest provides information about a ballot measure before the voters, including
summary statements on each side. Extends single-csv-contest-base.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
con_statement |
xs:string |
Optional |
Single |
Specifies a statement in opposition to
the referendum. It does not necessarily
appear on the ballot. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
effect_of_abstain |
xs:string |
Optional |
Single |
Specifies what effect abstaining (i.e.
not voting) on this proposition will
have (i.e. whether abstaining is
considered a vote against it). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
full_text |
xs:string |
Optional |
Single |
Specifies the full text of the
referendum as it appears on the ballot. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
info_uri |
xs:anyURI |
Optional |
Single |
Specifies a URI that links to additional
information about the referendum. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
passage_threshold |
xs:string |
Optional |
Single |
Specifies the threshold of votes that
the referendum needs in order to pass.
The default is a simple majority (i.e.
50% plus one vote). Other common
thresholds are “three-fifths” and
“two-thirds”. If there are `competing
initiatives`_, information about their
effect on the passage of the
BallotMeasureContest would go here. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
pro_statement |
xs:string |
Optional |
Single |
Specifies a statement in favor of the
referendum. It does not necessarily
appear on the ballot. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
summary_text |
xs:string |
Optional |
Single |
Specifies a short summary of the
referendum that is on the ballot, below
the title, but above the text. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
type |
xs:string |
Optional |
Single |
Specifies the particular type of ballot
measure. Must be one of the valid
ballot_measure_type
options. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
Allows for cataloging a new
ballot_measure_type
option, when Type is specified as
“other.” |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,abbreviation,ballot_selection_ids,ballot_sub_title,ballot_title,elecoral_district_id,electorate_specification,external_identifier_type,external_identifier_othertype,external_identifier_value,has_rotation,name,sequence_order,vote_variation,other_vote_variation,con_statement,effect_of_abstain,full_text,info_uri,passage_threshold,pro_statement,summary_text,type,other_type
bmc0001,HB2,bs001 bs002 bs003,Raising levy for School Bond,School Bond Issue,ed001,all registered voters,,54,false,School Bond,42,majority,,This is no good.,No effect,A measure to do raise funds for etc etc,www.ballotmeasure.com,two-thirds,Everything will be great.,It’s a referendum about school funding,referendum,
|
A base model for all Contest types: ballot_measure_contest,
candidate_contest, party_contest,
and retention_contest (NB: the latter because it extends
ballot_measure_contest).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
abbreviation |
xs:string |
Optional |
Single |
An abbreviation for the contest. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_selection_ids |
xs:IDREFS |
Optional |
Single |
References a set of BallotSelections,
which could be of any selection type
that extends
single-csv-ballot-selection-base. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_sub_title |
xs:string |
Optional |
Single |
Subtitle of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
ballot_title |
xs:string |
Optional |
Single |
Title of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
electoral_district_id |
xs:IDREF |
Required |
Single |
References an
electoral_district
element that represents the geographical
scope of the contest. |
If the field is invalid, then the
implementation should ignore it. |
electorate_specification |
xs:string |
Optional |
Single |
Specifies any changes to the eligible
electorate for this contest past the
usual, “all registered voters”
electorate. This subtag will most often
be used for primaries and local
elections. In primaries, voters may have
to be registered as a specific party to
vote, or there may be special rules for
which ballot a voter can pull. In some
local elections, non-citizens can vote. |
If the element is invalid or not
present, then the implementation should
ignore it. |
external_identifiers |
xs:string |
Optional |
Single |
Other identifiers for a contest that
links to another source of information. |
If the element is invalid or not
present, then the implementation should
ignore it. |
has_rotation |
xs:boolean |
Optional |
Single |
Indicates whether the selections in the
contest are rotated. |
If the field is invalid or not present,
then the implementation should ignore
it. |
name |
xs:string |
Required |
Single |
Name of the contest, not necessarily how
it appears on the ballot (NB:
BallotTitle should be used for this
purpose). |
If the field is invalid, then the
implementation should ignore it. |
sequence_order |
xs:integer |
Optional |
Single |
Order in which the contests are listed
on the ballot. This is the default
ordering, and can be overrides by data
in a ballot_style
element. |
If the field is invalid or not present,
then the implementation should ignore
it. |
vote_variation |
vote_variation |
Optional |
Single |
Vote variation associated with the
contest (e.g. n-of-m, majority, et al). |
If the field is invalid or not present,
then the implementation should ignore
it. |
other_vote_variation |
other_vote_variation |
Optional |
Single |
If “other” is selected as the
VoteVariation, the name of the
variation can be specified here. |
If the field is invalid or not present,
then the implementation should ignore
it. |
A base model for all Contest types: ballot_measure_contest,
candidate_contest, party_contest,
and retention_contest (NB: the latter because it extends
ballot_measure_contest).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
abbreviation |
xs:string |
Optional |
Single |
An abbreviation for the contest. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_selection_ids |
xs:IDREFS |
Optional |
Single |
References a set of BallotSelections,
which could be of any selection type
that extends
single-csv-ballot-selection-base. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_sub_title |
xs:string |
Optional |
Single |
Subtitle of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
ballot_title |
xs:string |
Optional |
Single |
Title of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
electoral_district_id |
xs:IDREF |
Required |
Single |
References an
electoral_district
element that represents the geographical
scope of the contest. |
If the field is invalid, then the
implementation should ignore it. |
electorate_specification |
xs:string |
Optional |
Single |
Specifies any changes to the eligible
electorate for this contest past the
usual, “all registered voters”
electorate. This subtag will most often
be used for primaries and local
elections. In primaries, voters may have
to be registered as a specific party to
vote, or there may be special rules for
which ballot a voter can pull. In some
local elections, non-citizens can vote. |
If the element is invalid or not
present, then the implementation should
ignore it. |
external_identifiers |
xs:string |
Optional |
Single |
Other identifiers for a contest that
links to another source of information. |
If the element is invalid or not
present, then the implementation should
ignore it. |
has_rotation |
xs:boolean |
Optional |
Single |
Indicates whether the selections in the
contest are rotated. |
If the field is invalid or not present,
then the implementation should ignore
it. |
name |
xs:string |
Required |
Single |
Name of the contest, not necessarily how
it appears on the ballot (NB:
BallotTitle should be used for this
purpose). |
If the field is invalid, then the
implementation should ignore it. |
sequence_order |
xs:integer |
Optional |
Single |
Order in which the contests are listed
on the ballot. This is the default
ordering, and can be overrides by data
in a ballot_style
element. |
If the field is invalid or not present,
then the implementation should ignore
it. |
vote_variation |
vote_variation |
Optional |
Single |
Vote variation associated with the
contest (e.g. n-of-m, majority, et al). |
If the field is invalid or not present,
then the implementation should ignore
it. |
other_vote_variation |
other_vote_variation |
Optional |
Single |
If “other” is selected as the
VoteVariation, the name of the
variation can be specified here. |
If the field is invalid or not present,
then the implementation should ignore
it. |
A string pattern restricting the value to a time with an included offset from
UTC. The pattern is
(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|(24:00:00))(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | <HoursOpen id="hours0001">
<Schedule>
<Hours>
<StartTime>06:00:00-05:00</StartTime>
<EndTime>12:00:00-05:00</EndTime>
</Hours>
<Hours>
<StartTime>13:00:00-05:00</StartTime>
<EndTime>19:00:00-05:00</EndTime>
</Hours>
<StartDate>2013-11-05</StartDate>
<EndDate>2013-11-05</EndDate>
</Schedule>
</HoursOpen>
|
LanguageString
extends xs:string and can contain text from any language. LanguageString
has one required attribute, language
, that must contain the 2-character language code for the
type of language LanguageString
contains.
| <BallotTitle>
<Text language="en">Retention of Supreme Court Justice</Text>
<Text language="es">La retención de juez de la Corte Suprema</Text>
</BallotTitle>
|
A container for the contests/measures on the ballot.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
image_uri |
xs:anyURI |
Optional |
Single |
Specifies a URI that returns an image of
the sample ballot. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
ordered_contests_ids |
xs:IDREFS |
Optional |
Single |
Reference to a set of
ordered_contest |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
party_ids |
xs:IDREFS |
Optional |
Single |
Reference to a set of
:ref:`single-csv-party`s. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,image_uri,ordered_contest_ids,party_ids
bs00010,http://i.giphy.com/26BoCh3PgT8ai45ji.gif,oc2025,par02
bs00011,http://i.giphy.com/3oEjHYDWEICgEpAOjK.gif,oc3000 oc2025,par01
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
type |
identifier_type |
Required |
Single |
Specifies the type of identifier. Must
be one of the valid types as defined by
identifier_type. |
If the field is invalid or not present,
the implementation is required to ignore
the ElectionIdentifier containing
it. |
other_type |
xs:string |
Optional |
Single |
Allows for cataloging an
ExternalIdentifier type that falls
outside the options listed in
identifier_type.
Type should be set to “other” when
using this field. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
value |
xs:string |
Required |
Single |
Specifies the identifier. |
If the field is invalid or not present,
the implementation is required to ignore
the ElectionIdentifier containing
it. |
Person
defines information about a person. The person may be a candidate, election administrator,
or elected official. These elements reference Person
:
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information_id |
xs:IDREF |
Optional |
Repeats |
Refers to the associated
single-csv-contact-information. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
date_of_birth |
xs:date |
Optional |
Single |
Represents the individual’s date of
birth. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Identifiers for this person. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
first_name |
xs:string |
Optional |
Single |
Represents an individual’s first name. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
full_name |
xs:string |
Optional |
Single |
Specifies a person’s full name (NB:
this information is
internationalized_text
because it sometimes appears on ballots
in multiple languages). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
gender |
xs:string |
Optional |
Single |
Specifies a person’s gender. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
last_name |
xs:string |
Optional |
Single |
Represents an individual’s last name. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
middle_name |
xs:string |
Optional |
Repeats |
Represents any number of names between
an individual’s first and last names
(e.g. John Ronald Reuel Tolkien). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
nickname |
xs:string |
Optional |
Single |
Represents an individual’s nickname. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
party_id |
xs:IDREF |
Optional |
Single |
Refers to the associated
party. This
information is intended to be used by
feed consumers to help them disambiguate
the person’s identity, but not to be
presented as part of any ballot
information. For that see
candidate PartyId. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
prefix |
xs:string |
Optional |
Single |
Specifies a prefix associated with a
person (e.g. Dr.). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
profession |
xs:string |
Optional |
Single |
Specifies a person’s profession (NB:
this information is
internationalized_text
because it sometimes appears on ballots
in multiple languages). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
suffix |
xs:string |
Optional |
Single |
Specifies a suffix associated with a
person (e.g. Jr.). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
title |
xs:string |
Optional |
Single |
A title associated with a person
(NB: this information is
internationalized_text
because it sometimes appears on ballots
in multiple languages). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
| id,date_of_birth,first_name,gender,last_name,middle_name,nickname,party_id,prefix,profession,suffix,title
per50001,1961-08-04,Barack,male,Obama,Hussein,,par02,,President,II,Mr. President
per50002,1985-11-21,Carly,female,Jepsen,Rae,,par01,,Recording Artist,,
per50003,1926-09-23,John,male,Coltrane,William,Trane,par02,,Recording Artist,Saint,
per50004,1926-05-26,Miles,male,Davis,Dewey,,par01,,Recording Artist,III,
|
For defining contact information about objects such as persons, boards of authorities,
organizations, etc. ContactInformation is always a sub-element of another object (e.g.
election_administration, office,
person, source). ContactInformation has an optional attribute
label
, which allows the feed to refer back to the original label for the information
(e.g. if the contact information came from a CSV, label
may refer to a row ID).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
address_line |
xs:string |
Optional |
Repeats |
The “location” portion of a mailing
address. See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
directions |
xs:string |
Optional |
Single |
Specifies further instructions for
locating this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
email |
xs:string |
Optional |
Repeats |
An email address for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
fax |
xs:string |
Optional |
Repeats |
A fax line for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
the location is open (NB: this element
is deprecated in favor of the more
structured :ref:`single-csv-hours-open`
element. It is strongly encouraged that
data providers move toward contributing
hours in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_id |
xs:IDREF |
Optional |
Single |
References an
hours_open element,
which lists the hours of operation for a
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
lat_long |
single-csv-lat-lng |
Optional |
Single |
Specifies the latitude and longitude of
this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Optional |
Single |
The name of the location or contact.
See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
phone |
xs:string |
Optional |
Repeats |
A phone number for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
uri |
xs:anyURI |
Optional |
Repeats |
An informational URI for the contact or
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,address_line_1,address_line_2,address_line_3,directions,email,fax,hours,hours_open_id,latitude,longitude,latlng_source,name,phone,uri,parent_id
ci0827,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,off001
ci0828,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,vs01
|
The ExternalIdentifiers
element allows VIP data to connect with external datasets (e.g.
candidates with campaign finance datasets, electoral geographies with OCD-IDs that allow for
greater connectivity with additional datasets, etc…). Examples for ExternalIdentifiers
can be
found on the objects that support them:
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
external_identifier |
external_identifier |
Required |
Repeats |
Defines the identifier and the type of
identifier it is (see
`ExternalIdentifier`_ for complete
information). |
At least one valid `ExternalIdentifier`_
must be present for
ExternalIdentifiers to be valid. If
no valid `ExternalIdentifier`_ is
present, the implementation is required
to ignore the ExternalIdentifiers
element. |
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
The contact for a particular voter
service. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
description |
xs:string |
Optional |
Single |
Long description of the services
available. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The authority
for a particular voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
type |
voter_service_type |
Optional |
Single |
The type of voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
If Type is “other”, OtherType allows for
cataloging another type of voter
service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,description,election_official_person_id,type,other_type,department_id
vs01,A service we provide,per50002,other,overseas-voting,dep01
vs00,Elections notifications,per50002,other,voter-registration,dep02
vs02,Pencil sharpening,per50002,other,office-help,dep03
vs03,Guided hike to polling place,per50002,other,polling-places,dep03
vs04,Bike messenger ballot delivery,per50002,other,absentee-ballots,dep03
|
For defining contact information about objects such as persons, boards of authorities,
organizations, etc. ContactInformation is always a sub-element of another object (e.g.
election_administration, office,
person, source). ContactInformation has an optional attribute
label
, which allows the feed to refer back to the original label for the information
(e.g. if the contact information came from a CSV, label
may refer to a row ID).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
address_line |
xs:string |
Optional |
Repeats |
The “location” portion of a mailing
address. See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
directions |
xs:string |
Optional |
Single |
Specifies further instructions for
locating this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
email |
xs:string |
Optional |
Repeats |
An email address for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
fax |
xs:string |
Optional |
Repeats |
A fax line for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
the location is open (NB: this element
is deprecated in favor of the more
structured :ref:`single-csv-hours-open`
element. It is strongly encouraged that
data providers move toward contributing
hours in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_id |
xs:IDREF |
Optional |
Single |
References an
hours_open element,
which lists the hours of operation for a
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
lat_long |
single-csv-lat-lng |
Optional |
Single |
Specifies the latitude and longitude of
this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Optional |
Single |
The name of the location or contact.
See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
phone |
xs:string |
Optional |
Repeats |
A phone number for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
uri |
xs:anyURI |
Optional |
Repeats |
An informational URI for the contact or
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,address_line_1,address_line_2,address_line_3,directions,email,fax,hours,hours_open_id,latitude,longitude,latlng_source,name,phone,uri,parent_id
ci0827,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,off001
ci0828,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,vs01
|
CandidateSelection extends single-csv-ballot-selection-base and represents a
ballot selection for a candidate contest.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
candidate_ids |
xs:IDREFS |
Optional |
Single |
References a set of
candidate elements.
The number of candidates that can be
references is unbounded in cases where
the ballot selection is for a ticket
(e.g. “President/Vice President”,
“Governor/Lt Governor”). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
endorsement_party_ids |
xs:IDREFS |
Optional |
Single |
References a set of
party elements, which
signifies one or more endorsing parties
for the candidate(s). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_write_in |
xs:boolean |
Optional |
Single |
Signifies if the particular ballot
selection allows for write-in
candidates. If true, one or more
write-in candidates are allowed for this
contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,sequence_order,candidate_ids,endorsement_party_ids,is_write_in
cs001,3,can004,par01,false
cs002,2,can001 can002,par03 par02,false
cs003,1,can003,par02 par03,true
|
A base model for all ballot selection types:
ballot_measure_selection,
candiate_selection, and party_selection.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
sequence_order |
xs:integer |
Optional |
Single |
The order in which a selection can be
listed on the ballot or in results. This
is the default ordering, and can be
overridden by OrderedBallotSlectionIds
in ordered_contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
The latitude and longitude of a polling location in `WGS 84`_ format. Both
latitude and longitude values are measured in decimal degrees.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
latitude |
xs:double |
Required |
Single |
The latitude of the polling location. |
If the field is invalid, then the
implementation is required to ignore it. |
longitude |
xs:double |
Required |
Single |
The longitude of the polling location. |
If the field is invalid, then the
implementation is required to ignore it. |
latlng_source |
xs:string |
Optional |
Single |
The system used to perform the lookup
from location name to lat/lng. For
example, this could be the name of a
geocoding service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
The Candidate object represents a candidate in a contest. If a candidate is
running in multiple contests, each contest must have its own Candidate
object. Candidate objects may not be reused between Contests.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
ballot_name |
xs:string |
Required |
Single |
The candidate’s name as it will be
displayed on the official ballot (e.g.
“Ken T. Cuccinelli II”). |
If the element is invalid, then the
implementation is required to ignore the
Candidate element containing it. |
contact_information |
xs:string |
Optional |
Single |
Contact and physical address information
for this Candidate and/or their campaign
(see
single-csv-contact-information). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Another identifier for a candidate that
links to another source of information
(e.g. a campaign committee ID that links
to a campaign finance system). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
file_date |
xs:date |
Optional |
Single |
Date when the candidate filed for the
contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_incumbent |
xs:boolean |
Optional |
Single |
Indicates whether the candidate is the
incumbent for the office associated with
the contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_top_ticket |
xs:boolean |
Optional |
Single |
Indicates whether the candidate is the
top of a ticket that includes multiple
candidates. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
party_id |
xs:IDREF |
Optional |
Single |
Reference to a party
element with additional information
about the candidate’s affiliated party.
This is the party affiliation that is
intended to be presented as part of
ballot information. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
person_id |
xs:IDREF |
Optional |
Single |
Reference to a person
element with additional information
about the candidate. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
post_election_status |
candidate_post_election_status |
Optional |
Single |
Final status of the candidate (e.g.
winner, withdrawn, etc…). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
pre_election_status |
candidate_pre_election_status |
Optional |
Single |
Registration status of the candidate
(e.g. filed, qualified, etc…). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,ballot_name,external_identifier_type,external_identifier_othertype,external_identifier_value,file_date,is_incumbent,is_top_ticket,party_id,person_id,post_election_status,pre_election_status
can001,Jude Fawley,,,,2016-12-01,true,false,par01,per50001,,filed
can002,Arabella Donn,,,,2016-12-01,false,false,par02,per50002,,qualified
can003,John Coltrane,,,,2016-09-23,false,false,par02,per50003,,qualified
can004,Miles Davis,,,,2016-05-26,false,false,par01,per50004,,qualified
|
The PollingLocation object represents a site where voters cast or drop off ballots.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
single-csv-simple-address-type |
simple-address-type |
Optional |
Single |
Represents the various structured parts
of an address to a polling location. |
One of AddressStructured and
AddressLine should be present for a
given Polling Location. If none is
present, the implementation is required
to ignore the PollingLocation
element containing it. |
address_line |
xs:string |
Optional |
Repeats |
Represents the various parts of an
address to a polling location. |
One of AddressStructured and AddressLine
should be present for a given Polling
Location. If none is present, the
implementation is required to ignore the
PollingLocation element containing
it. |
directions |
xs:string |
Optional |
Single |
Specifies further instructions for
locating the polling location. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
the polling location is open (NB:
this element is deprecated in favor of
the more structured
hours_open element. It
is strongly encouraged that data
providers move toward contributing hours
in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_id |
xs:IDREF |
Optional |
Single |
Links to an hours_open
element, which is a schedule of dates
and hours during which the polling
location is available. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_drop_box |
xs:boolean |
Optional |
Single |
Indicates if this polling location is a
drop box. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_early_voting |
xs:boolean |
Optional |
Single |
Indicates if this polling location is an
early vote site. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
lat_lng |
single-csv-lat-lng |
Optional |
Single |
Specifies the latitude and longitude of
this polling location. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Optional |
Single |
Name of the polling location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
photo_uri |
xs:string |
Optional |
Single |
Contains a link to an image of the
polling location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,name,address_line,structured_line_1,structured_city,structured_state,structured_zip,directions,hours,photo_uri,hours_open_id,is_drop_box,is_early_voting,latitude,longitude,latlng_source
poll001,ALBERMARLE HIGH SCHOOL,,2775 Hydraulic Rd,Charlottesville,VA,22901,Use back door,7am-8pm,www.picture.com,ho001,false,true,38.0754627,78.5014875,Google Maps
poll002,Public Library,Main St Denver CO,,,,,,next to the checkout counter,7am-8pm,www.picture.com,,false,true,38.0754627,78.5014875,Google Maps
|
The latitude and longitude of a polling location in `WGS 84`_ format. Both
latitude and longitude values are measured in decimal degrees.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
latitude |
xs:double |
Required |
Single |
The latitude of the polling location. |
If the field is invalid, then the
implementation is required to ignore it. |
longitude |
xs:double |
Required |
Single |
The longitude of the polling location. |
If the field is invalid, then the
implementation is required to ignore it. |
latlng_source |
xs:string |
Optional |
Single |
The system used to perform the lookup
from location name to lat/lng. For
example, this could be the name of a
geocoding service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
A SimpleAddressType
represents a structured address.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
structured_line_1 |
xs:string |
Required |
Single |
The address line for a structured
address. Should include the street
number, street name, and any prefix and
suffix. |
If no Line1 is provided, the
implementation should ignore the
SimpleAddressType . |
structured_line_2 |
xs:string |
Optional |
Single |
Additional field for an address |
If no Line2 is provided, the
implementation should ignore it. |
structured_line_3 |
xs:string |
Optional |
Single |
Additional field for an address |
If no Line3 is provided, the
implementation should ignore it. |
structured_city |
xs:string |
Required |
Single |
The City value of a structured address. |
If City is not provided, the
implementation should ignore the
SimpleAddressType . |
structured_state |
xs:string |
Required |
Single |
The State value of a structured address. |
If State is not provided, the
implementation should ignore the
SimpleAddressType . |
structured_zip |
xs:string |
Optional |
Single |
The ZIP code of a structured address. |
If Zip is not provided, the
implementation should ignore the
SimpleAddressType . |
The Locality object represents the jurisdiction below the state (e.g. county).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
election_administration_id |
xs:IDREF |
Optional |
Single |
Links to the locality’s
election_administration
object. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Another identifier for a locality that
links to another dataset (e.g. `OCD-ID`_) |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
is_mail_only |
xs:boolean |
Optional |
Single |
Determines if the locality runs mail-only
elections. If this is true, then all
precincts a part of the locality will
also run mail-only elections. Drop boxes
may be used in addition to this flag
using a polling location record
configured as a Drop Box. |
If the field is missing or invalid, the
implementation is required to assume
IsMailOnly is false. |
name |
xs:string |
Required |
Single |
Specifies the name of a locality. |
If the field is invalid, then the
implementation is required to ignore the
Locality element containing it. |
polling_location_ids |
xs:IDREFS |
Optional |
Single |
Specifies a link to a set of the
locality’s :ref:`polling locations
<single-csv-polling-location>`s. If early
vote centers or ballot drop locations are
locality-wide, they should be specified
here. |
If the field is invalid or not present,
the implementation is required to ignore
it. However, the implementation should
still check to see if there are any
polling locations associated with this
locality’s state. |
state_id |
xs:IDREF |
Required |
Single |
References the locality’s
state. |
If the field is invalid, then the
implementation is required to ignore the
Locality element containing it. |
type |
district_type |
Optional |
Single |
Defines the kind of locality (e.g.
county, town, et al.), which is one of
the various DistrictType
enumerations. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
Allows for defining a type of locality
that falls outside the options listed in
DistrictType. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,election_administration_id,external_identifier_type,external_identifier_othertype,external_identifier_value,is_mail_only,name,polling_location_ids,state_id,type,other_type
loc001,ea123,ocd-id,,ocd-division/country:us/state:co/county:denver,true,Locality #1,poll001 poll002,st51,city,
loc002,ea345,,,,,Locality #2,,st51,other,unique type
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
Contact and physical address information
for the election administration body
(see
single-csv-contact-information). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The individual to contact at the
election administration office. The
specified person should be the
election official. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
voter_service |
single-csv-voter-service |
Optional |
Repeats |
The types of services and appropriate
contact individual available to voters. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
| id,election_official_person_id,election_administration_id
dep01,per50002,ea123
dep02,per50002,ea345
dep03,per50002,ea625
dep04,per50002,ea625
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
The contact for a particular voter
service. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
description |
xs:string |
Optional |
Single |
Long description of the services
available. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The authority
for a particular voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
type |
voter_service_type |
Optional |
Single |
The type of voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
If Type is “other”, OtherType allows for
cataloging another type of voter
service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,description,election_official_person_id,type,other_type,department_id
vs01,A service we provide,per50002,other,overseas-voting,dep01
vs00,Elections notifications,per50002,other,voter-registration,dep02
vs02,Pencil sharpening,per50002,other,office-help,dep03
vs03,Guided hike to polling place,per50002,other,polling-places,dep03
vs04,Bike messenger ballot delivery,per50002,other,absentee-ballots,dep03
|
For defining contact information about objects such as persons, boards of authorities,
organizations, etc. ContactInformation is always a sub-element of another object (e.g.
election_administration, office,
person, source). ContactInformation has an optional attribute
label
, which allows the feed to refer back to the original label for the information
(e.g. if the contact information came from a CSV, label
may refer to a row ID).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
address_line |
xs:string |
Optional |
Repeats |
The “location” portion of a mailing
address. See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
directions |
xs:string |
Optional |
Single |
Specifies further instructions for
locating this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
email |
xs:string |
Optional |
Repeats |
An email address for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
fax |
xs:string |
Optional |
Repeats |
A fax line for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
the location is open (NB: this element
is deprecated in favor of the more
structured :ref:`single-csv-hours-open`
element. It is strongly encouraged that
data providers move toward contributing
hours in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_id |
xs:IDREF |
Optional |
Single |
References an
hours_open element,
which lists the hours of operation for a
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
lat_long |
single-csv-lat-lng |
Optional |
Single |
Specifies the latitude and longitude of
this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Optional |
Single |
The name of the location or contact.
See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
phone |
xs:string |
Optional |
Repeats |
A phone number for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
uri |
xs:anyURI |
Optional |
Repeats |
An informational URI for the contact or
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,address_line_1,address_line_2,address_line_3,directions,email,fax,hours,hours_open_id,latitude,longitude,latlng_source,name,phone,uri,parent_id
ci0827,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,off001
ci0828,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,vs01
|
A restricted string pattern for a six-character hex code representing an HTML
color string. The pattern is:
[0-9a-f]{6}
A sub-portion of the schedule. This describes a range of days, along with one or
more set of open and close times for those days, as well as the options
describing whether or not appointments are necessary or possible.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
hours |
single-csv-hours |
Optional |
Repeats |
Blocks of hours in the date range in
which the place is open. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
is_only_by_appointment |
xs:boolean |
Optional |
Single |
If true, the place is only open during
the specified time window with an
appointment. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_or_by_appointment |
xs:boolean |
Optional |
Single |
If true, the place is open during the
hours specified time window and may also
be open with an appointment. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_subject_to_change |
xs:boolean |
Optional |
Single |
If true, the place should be open during
the specified time window, but may be
subject to change. People should contact
prior to arrival to confirm hours are
still accurate. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
start_date |
xs:date |
Optional |
Single |
The date at which this collection of
start and end times and options begin. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
end_date |
xs:date |
Optional |
Single |
The date at which this collection of
start and end times and options end. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,start_time,end_time,is_only_by_appointment,is_or_by_appointment,is_subject_to_change,start_date,end_date,hours_open_id
sch001,07:00:00-06:00,22:00:00-06:00,,true,,2016-10-10,2016-10-12,ho001
sch002,09:00:00-06:00,20:00:00-06:00,true,,,2016-10-13,2016-10-15,ho001
sch003,08:00:00-06:00,14:00:00-06:00,,,true,2016-10-10,2016-10-15,ho002
|
The open and close time for this place. All times must be fully specified,
including a timezone offset from UTC.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
start_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place opens. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
end_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place closes. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
A string pattern restricting the value to a time with an included offset from
UTC. The pattern is
(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|(24:00:00))(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | <HoursOpen id="hours0001">
<Schedule>
<Hours>
<StartTime>06:00:00-05:00</StartTime>
<EndTime>12:00:00-05:00</EndTime>
</Hours>
<Hours>
<StartTime>13:00:00-05:00</StartTime>
<EndTime>19:00:00-05:00</EndTime>
</Hours>
<StartDate>2013-11-05</StartDate>
<EndDate>2013-11-05</EndDate>
</Schedule>
</HoursOpen>
|
The Precinct object represents a precinct, which is contained within a Locality. While the id
attribute does not have to be static across feeds for one election, the combination of
Source.VipId, Locality.Name, Precinct.Ward,
Precinct.Name, and Precinct.Number should remain constant across
feeds for one election (NB: not all of the fields just mentioned are required – omitting those
non-required fields is fine).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
ballot_style_id |
xs:IDREF |
Optional |
Single |
Links to the
ballot_style, which a
person who lives in this precinct will
vote. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
electoral_district_ids |
xs:IDREFS |
Optional |
Single |
Links to the
:ref:`single-csv-electoral-district`s
(e.g., congressional district, state
house district, school board district)
to which the entire precinct/precinct
split belongs. Highly Recommended if
candidate information is to be provided. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Other identifier for the precinct that
relates to another dataset (e.g.
`OCD-ID`_). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
is_mail_only |
xs:boolean |
Optional |
Single |
Determines if the precinct runs
mail-only elections. |
If the field is missing or invalid, the
implementation is required to assume
IsMailOnly is false. |
locality_id |
xs:IDREF |
Required |
Single |
Links to the locality
that comprises the precinct. |
If the field is invalid, then the
implementation is required to ignore the
Precinct element containing it. |
name |
xs:string |
Required |
Single |
Specifies the precinct’s name (or number
if no name exists). |
If the field is invalid, then the
implementation is required to ignore the
Precinct element containing it. |
number |
xs:string |
Optional |
Single |
Specifies the precinct’s number (e.g.,
32 or 32A – alpha characters are
legal). Should be used if the Name
field is populated by a name and not a
number. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
polling_location_ids |
xs:IDREFS |
Optional |
Single |
Specifies a link to the precinct’s
polling_location
object(s). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
precinct_split_name |
xs:string |
Optional |
Single |
If this field is empty, then this
Precinct object represents a full
precinct. If this field is present, then
this Precinct object represents one
portion of a split precinct. Each
Precinct object that represents one
portion of a split precinct must
have the same Name value, but
different PrecinctSplitName values.
See the sample_feed.xml file for
examples. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
ward |
xs:string |
Optional |
Single |
Specifies the ward the precinct is
contained within. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,ballot_style_id,electoral_district_ids,external_identifier_type,external_identifier_othertype,external_identifier_value,is_mail_only,locality_id,name,number,polling_location_ids,precinct_split_name,ward
pre90111,bs00010,ed001,ocd-id,,ocd-division/country:us,false,loc001,203 - GEORGETOWN,0203,poll001 poll002,split13,5
pre90112,bs00011,ed002,fips,,42,false,loc001,203 - GEORGETOWN,0203,poll003,split26,6
pre90113,bs00010,ed003,,,,false,loc002,203 - GEORGETOWN,0203,poll004,split54,7
|
OrderedContest
encapsulates links to the information that comprises a contest and potential
ballot selections. OrderedContest
elements can be collected within a
ballot_style to accurate depict exactly what will show up on a particular
ballot in the proper order.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contest_id |
xs:IDREF |
Required |
Single |
Links to elements that extend
single-csv-contest-base. |
If the field is invalid or not present, the
implementation is required to ignore the
OrderedContest element containing it. |
ordered_ballot_selection_ids |
IDREFS |
Optional |
Single |
Links to elements that extend
single-csv-ballot-selection-base. |
If the field is invalid or not present, the
implementation is required to ignore it. If an
OrderedBallotSelectionIds element is not
present, the presumed order of the selection
will be the order of
single-csv-ballot-selection-base-extended
elements referenced by the underlying
single-csv-contest-base-extended
elements. |
| id,contest_id,ordered_ballot_selection_ids
oc2025,con001,bs001 bs002 bs003
oc3000,con002,bs001
|
An extension of single-csv-contest-base which describes a contest in
which the possible ballot selections are of type party_selection. These could include contests in which straight-party
selections are allowed, or party-list contests (although these are more common
outside of the United States).
| id,abbreviation,ballot_selection_ids,ballot_sub_title,ballot_title,electoral_district_id,electorate_specification,external_identifier_type,external_identifier_othertype,external_identifier_value,has_rotation,name,sequence_order,vote_variation,other_vote_variation
pcon001,PC1071,bs001 bs002,,Party Election,ed001,all registered voters,,,,false,Straight Party Vote,3,,
|
A base model for all Contest types: ballot_measure_contest,
candidate_contest, party_contest,
and retention_contest (NB: the latter because it extends
ballot_measure_contest).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
abbreviation |
xs:string |
Optional |
Single |
An abbreviation for the contest. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_selection_ids |
xs:IDREFS |
Optional |
Single |
References a set of BallotSelections,
which could be of any selection type
that extends
single-csv-ballot-selection-base. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_sub_title |
xs:string |
Optional |
Single |
Subtitle of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
ballot_title |
xs:string |
Optional |
Single |
Title of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
electoral_district_id |
xs:IDREF |
Required |
Single |
References an
electoral_district
element that represents the geographical
scope of the contest. |
If the field is invalid, then the
implementation should ignore it. |
electorate_specification |
xs:string |
Optional |
Single |
Specifies any changes to the eligible
electorate for this contest past the
usual, “all registered voters”
electorate. This subtag will most often
be used for primaries and local
elections. In primaries, voters may have
to be registered as a specific party to
vote, or there may be special rules for
which ballot a voter can pull. In some
local elections, non-citizens can vote. |
If the element is invalid or not
present, then the implementation should
ignore it. |
external_identifiers |
xs:string |
Optional |
Single |
Other identifiers for a contest that
links to another source of information. |
If the element is invalid or not
present, then the implementation should
ignore it. |
has_rotation |
xs:boolean |
Optional |
Single |
Indicates whether the selections in the
contest are rotated. |
If the field is invalid or not present,
then the implementation should ignore
it. |
name |
xs:string |
Required |
Single |
Name of the contest, not necessarily how
it appears on the ballot (NB:
BallotTitle should be used for this
purpose). |
If the field is invalid, then the
implementation should ignore it. |
sequence_order |
xs:integer |
Optional |
Single |
Order in which the contests are listed
on the ballot. This is the default
ordering, and can be overrides by data
in a ballot_style
element. |
If the field is invalid or not present,
then the implementation should ignore
it. |
vote_variation |
vote_variation |
Optional |
Single |
Vote variation associated with the
contest (e.g. n-of-m, majority, et al). |
If the field is invalid or not present,
then the implementation should ignore
it. |
other_vote_variation |
other_vote_variation |
Optional |
Single |
If “other” is selected as the
VoteVariation, the name of the
variation can be specified here. |
If the field is invalid or not present,
then the implementation should ignore
it. |
The Election Administration represents an institution for serving a locality’s (or state’s) election
functions.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
absentee_uri |
xs:anyURI |
Optional |
Single |
Specifies the web address for information on absentee
voting. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
am_i_registered_uri |
xs:anyURI |
Optional |
Single |
Specifies the web address for information on whether an
individual is registered. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
ballot_tracking_uri |
xs:anyURI |
Optional |
Single |
Specifies the web address for tracking information for a
ballot cast by mail |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
ballot_tracking_provisional_uri |
xs:anyURI |
Optional |
Single |
Specifies the web address for tracking information for a
provisional ballot. To support EAC guidelines for
“Processing Provisional Ballots”
(https://www.eac.gov/research-and-data/provisional-voting/) |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
department |
single-csv-department |
Required |
Repeats |
Describes the administrative body for a particular voter
service. |
There must be at least one valid
Department in each
ElectionAdministration element. If no
valid Department objects are present,
the implementation is required to ignore
the ElectionAdministration object that
contains it/them. |
election_notice |
single-csv-election-notice |
Optional |
Single |
A place for election administrators to post last minute and
emergency notifications pertaining to the election. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
elections_uri |
xs:anyURI |
Optional |
Single |
Specifies web address the administration’s website. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
registration_uri |
xs:anyURI |
Optional |
Single |
Specifies web address for information on registering to
vote. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
rules_uri |
xs:anyURI |
Optional |
Single |
Specifies a URI for the election rules and laws (if any)
for the jurisdiction of the administration. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
what_is_on_my_ballot |
xs:anyURI |
Optional |
Single |
Specifies web address for information on what is on an
individual’s ballot. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
where_do_i_vote_uri |
xs:anyURI |
Optional |
Single |
The Specifies web address for information on where an
individual votes based on their address. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,absentee_uri,am_i_registered_uri,ballot_tracking_uri,ballot_tracking_provisional_uri,election_notice_text,election_notice_uri,elections_uri,registration_uri,rules_uri,what_is_on_my_ballot_uri,where_do_i_vote_uri
ea123,https://example.com/absentee,https://example.com/am-i-registered,https://www.vote.virginia.gov/,https://www.vote.virginia.gov/,This is an emergency notification for this election.,https://www.yadayada.gov,https://example.com/elections,https://example.com/registration,https://example.com/rules,https://example.com/what-is-on-my-ballot,https://example.com/where-do-i-vote
ea345,https://example.com/absentee2,https://example.com/am-i-registered2,https://example.com/elections2,https://example.com/registration2,,,https://example.com/rules2,https://example.com/what-is-on-my-ballot2,https://example.com/where-do-i-vote2
ea625,https://example.com/absentee3,https://example.com/am-i-registered3,https://example.com/elections3,https://example.com/registration3,This is an emergency notification for this election.,,https://example.com/rules3,https://example.com/what-is-on-my-ballot3,https://example.com/where-do-i-vote3
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
Contact and physical address information
for the election administration body
(see
single-csv-contact-information). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The individual to contact at the
election administration office. The
specified person should be the
election official. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
voter_service |
single-csv-voter-service |
Optional |
Repeats |
The types of services and appropriate
contact individual available to voters. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
| id,election_official_person_id,election_administration_id
dep01,per50002,ea123
dep02,per50002,ea345
dep03,per50002,ea625
dep04,per50002,ea625
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
The contact for a particular voter
service. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
description |
xs:string |
Optional |
Single |
Long description of the services
available. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The authority
for a particular voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
type |
voter_service_type |
Optional |
Single |
The type of voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
If Type is “other”, OtherType allows for
cataloging another type of voter
service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,description,election_official_person_id,type,other_type,department_id
vs01,A service we provide,per50002,other,overseas-voting,dep01
vs00,Elections notifications,per50002,other,voter-registration,dep02
vs02,Pencil sharpening,per50002,other,office-help,dep03
vs03,Guided hike to polling place,per50002,other,polling-places,dep03
vs04,Bike messenger ballot delivery,per50002,other,absentee-ballots,dep03
|
For defining contact information about objects such as persons, boards of authorities,
organizations, etc. ContactInformation is always a sub-element of another object (e.g.
election_administration, office,
person, source). ContactInformation has an optional attribute
label
, which allows the feed to refer back to the original label for the information
(e.g. if the contact information came from a CSV, label
may refer to a row ID).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
address_line |
xs:string |
Optional |
Repeats |
The “location” portion of a mailing
address. See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
directions |
xs:string |
Optional |
Single |
Specifies further instructions for
locating this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
email |
xs:string |
Optional |
Repeats |
An email address for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
fax |
xs:string |
Optional |
Repeats |
A fax line for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
hours |
xs:string |
Optional |
Single |
Contains the hours (in local time) that
the location is open (NB: this element
is deprecated in favor of the more
structured :ref:`single-csv-hours-open`
element. It is strongly encouraged that
data providers move toward contributing
hours in this format). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
hours_open_id |
xs:IDREF |
Optional |
Single |
References an
hours_open element,
which lists the hours of operation for a
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
lat_long |
single-csv-lat-lng |
Optional |
Single |
Specifies the latitude and longitude of
this entity. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Optional |
Single |
The name of the location or contact.
See usage note. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
phone |
xs:string |
Optional |
Repeats |
A phone number for the contact. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
uri |
xs:anyURI |
Optional |
Repeats |
An informational URI for the contact or
location. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,address_line_1,address_line_2,address_line_3,directions,email,fax,hours,hours_open_id,latitude,longitude,latlng_source,name,phone,uri,parent_id
ci0827,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,off001
ci0828,The White House,1600 Pennsylvania Ave,,,josh@example.com,,Early to very late,,,,,Josh Lyman,555-111-2222,http://lemonlyman.example.com,vs01
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
election_notice_text |
xs:string |
Required |
Single |
The last minute or emergency
notification text should be placed here. |
If the element is invalid, then the
implementation is required to ignore the
ElectionNotice element containing
it. |
election_notice_uri |
xs:string |
Optional |
Single |
Optional URL for additional information
related to the last minute or emergency
notification. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
contact_information |
single-csv-contact-information |
Optional |
Single |
The contact for a particular voter
service. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
description |
xs:string |
Optional |
Single |
Long description of the services
available. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
election_official_person_id |
xs:IDREF |
Optional |
Single |
The authority
for a particular voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
type |
voter_service_type |
Optional |
Single |
The type of voter service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
other_type |
xs:string |
Optional |
Single |
If Type is “other”, OtherType allows for
cataloging another type of voter
service. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,description,election_official_person_id,type,other_type,department_id
vs01,A service we provide,per50002,other,overseas-voting,dep01
vs00,Elections notifications,per50002,other,voter-registration,dep02
vs02,Pencil sharpening,per50002,other,office-help,dep03
vs03,Guided hike to polling place,per50002,other,polling-places,dep03
vs04,Bike messenger ballot delivery,per50002,other,absentee-ballots,dep03
|
The open and close time for this place. All times must be fully specified,
including a timezone offset from UTC.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
start_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place opens. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
end_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place closes. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
A string pattern restricting the value to a time with an included offset from
UTC. The pattern is
(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|(24:00:00))(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | <HoursOpen id="hours0001">
<Schedule>
<Hours>
<StartTime>06:00:00-05:00</StartTime>
<EndTime>12:00:00-05:00</EndTime>
</Hours>
<Hours>
<StartTime>13:00:00-05:00</StartTime>
<EndTime>19:00:00-05:00</EndTime>
</Hours>
<StartDate>2013-11-05</StartDate>
<EndDate>2013-11-05</EndDate>
</Schedule>
</HoursOpen>
|
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
election_notice_text |
xs:string |
Required |
Single |
The last minute or emergency
notification text should be placed here. |
If the element is invalid, then the
implementation is required to ignore the
ElectionNotice element containing
it. |
election_notice_uri |
xs:string |
Optional |
Single |
Optional URL for additional information
related to the last minute or emergency
notification. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
RetentionContest
extends ballot_measure_contest and represents a
contest where a candidate is retained in a position (e.g. a judge).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
candidate_id |
xs:IDREF |
Required |
Single |
Links to the candidate
being retained. |
If the field is invalid or not present,
the implementation is required to ignore
the RetentionContest element
containing it. |
office_id |
xs:IDREF |
Optional |
Single |
Links to the information about the
office. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
A Street Segment objection represents a portion of a street and the links to the precinct that this
geography (i.e., segment) is contained within. The start address house number must be less than the
end address house number unless the segment consists of only one address, in which case these values
are equal.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
address_direction |
xs:string |
Optional |
Single |
Specifies the (inter-)cardinal direction
of the entire address. An example is
“NE” for the address “100 E Capitol St
NE.” |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
city |
xs:string |
Required |
Single |
The city specifies the city or town of
the address. |
If the field is invalid, then the
implementation is required to ignore the
StreetSegment element containing it. |
includes_all_addresses |
xs:boolean |
Optional |
Single |
Specifies if the segment covers every
address on this street. If this is
true, then the values of
StartHouseNumber and
EndHouseNumber should be ignored.
The value of OddEvenBoth must be
both. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
includes_all_streets |
xs:boolean |
Optional |
Single |
Specifies if the segment covers every
street in this city. If this is true,
then the values of OddEvenBoth,
StartHouseNumber,
EndHouseNumber, StreetName, and
Zip should be ignored. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
odd_even_both |
oeb_enum |
Optional |
Single |
Specifies whether the odd side of the
street (in terms of house numbers), the
even side, or both are in included in
the street segment. |
If the field is not present or invalid,
the implementation is required to ignore
the StreetSegment containing it. |
precinct_id |
xs:IDREF |
Required |
Single |
References the
precinct that contains
the entire street segment. |
If the field is invalid, then the
implementation is required to ignore the
StreetSegment element containing it. |
start_house_number |
xs:integer |
Optional |
Single |
The house number at which the street
segment starts. This value is necessary
for the street segment to make any
sense. Unless IncludesAllAddresses
or IncludesAllStreets are true, this
value must be less than or equal to
EndHouseNumber. If
IncludesAllAddresses or
IncludesAllStreets are true, this
value is ignored. |
Unless IncludesAllAddresses or
IncludesAllStreets are true, if the
field is not present or invalid, the
implementation is required to ignore the
StreetSegment element containing it. If
the StartHouseNumber is greater than
the EndHouseNumber, the
implementation should ignore the element
containing them. |
end_house_number |
xs:integer |
Optional |
Single |
The house number at which the street
segment ends. This value is necessary
for the street segment to make any
sense. Unless IncludesAllAddresses
or IncludesAllStreets are true, it
must be greater than or equal to
StartHouseNumber. If
IncludesAllAddresses or
IncludesAllStreets are true, this
value is ignored. |
Unless IncludesAllAddresses or
IncludesAllStreets are true, if the
field is not present or invalid, the
implementation is required to ignore the
StreetSegment element containing it. If
the EndHouseNumber is less than the
StartHouseNumber, the implementation
should ignore the element containing it. |
house_number_prefix |
xs:string |
Optional |
Single |
Part of a street address. It may contain
letters or slashes (e.g., ‘B’ in ‘B22
Main St’). If this value is present then
StartHouseNumber must be equal to
EndHouseNumber. This field cannot be
used if IncludesAllAddresses or
IncludesAllStreets are true. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
house_number_suffix |
xs:string |
Optional |
Single |
Part of a street address. It may contain
letters or slashes (e.g., 1/2 in ‘22 1/2
Main St’). If this value is present then
StartHouseNumber must be equal to
EndHouseNumber. This field cannot be
used if IncludesAllAddresses or
IncludesAllStreets are true. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
state |
xs:string |
Required |
Single |
Specifies the two-letter state
abbreviation of the address. |
If the field is invalid, then the
implementation is required to ignore the
StreetSegment element containing it. |
street_direction |
xs:string |
Optional |
Single |
Specifies the (inter-)cardinal direction
of the street address (e.g., the “E” in
“100 E Capitol St NE”). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
street_name |
xs:string |
Optional |
Single |
Represents the name of the street for
the address. A special wildcard, “*”,
denotes every street in the given
city/town. It optionally may contain
street direction, street suffix or
address direction (e.g., both “Capitol”
and “E Capitol St NE” are acceptable for
the address “100 E Capitol St NE”),
however this is not preferred. Preferred
is street name alone (e.g. “Capitol”). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
street_suffix |
xs:string |
Optional |
Single |
Represents the abbreviated,
non-directional suffix to the street
name. An example is “St” for the address
“100 E Capitol St NE.” |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
unit_number |
xs:string |
Optional |
Repeats |
The apartment/unit number for a street
segment. If this value is present then
StartHouseNumber must be equal to
EndHouseNumber. This field cannot be
used if IncludesAllAddresses or
IncludesAllStreets are true. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
zip |
xs:string |
Optional |
Single |
Specifies the zip code of the address.
It may be 5 or 9 digits, and it may
include a hyphen (‘-‘). It is required
as it helps with geocoding, which is
crucial for distributors. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,address_direction,city,includes_all_addresses,includes_all_streets,odd_even_both,precinct_id,start_house_number,end_house_number,house_number_prefix,house_number_suffix,state,street_direction,street_name,street_suffix,unit_number,zip
ss000001,N,Washington,false,false,odd,pre90113,101,199,,,DC,NW,Delaware,St,,20001
ss000002,S,Washington,true,false,both,pre90112,,,,,DC,SE,Wisconsin,Ave,,20002
ss000003,N,Washington,false,false,even,pre90113,100,100,A,1/2,DC,NW,Delaware,St,,20001
|
CandidateContest extends single-csv-contest-base and represents a contest among
candidates.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
number_elected |
xs:integer |
Optional |
Single |
Number of candidates that are elected in
the contest (i.e. “N” of N-of-M). |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
office_ids |
xs:IDREFS |
Optional |
Single |
References a set of
office elements, if
available, which give additional
information about the offices. Note:
the order of the office IDs must be
in the same order as the candidates
listed in BallotSelectionIds. E.g., if
the various BallotSelectionIds
reference
candiate_selection
elements which reference the candidate
for President first and Vice-President
second, the OfficeIds should reference
the office of President first and the
office of Vice-President second. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
primary_party_ids |
xs:IDREFS |
Optional |
Single |
References party
elements, if the contest is related to a
particular party. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
votes_allowed |
xs:integer |
Optional |
Single |
Maximum number of votes/write-ins per
voter in this contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,abbreviation,ballot_selection_ids,ballot_sub_title,ballot_title,electoral_district_id,electorate_specification,external_identifier_type,external_identifier_othertype,external_identifier_value,has_rotation,name,sequence_order,vote_variation,other_vote_variation,number_elected,office_ids,primary_party_ids,votes_allowed
cancon001,SE-1,bs001 bs002,,Governor of Virginia,ed001,all registered voters,fips,,49,true,Governor,1,,,1,off001,par01,1
cancon002,SE-2,bs003 bs004,,Lieutenant Governor of Virginia,ed001,all registered voters,fips,,49,true,Lt Governor,2,,,1,off002,par01,1
|
A base model for all Contest types: ballot_measure_contest,
candidate_contest, party_contest,
and retention_contest (NB: the latter because it extends
ballot_measure_contest).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
abbreviation |
xs:string |
Optional |
Single |
An abbreviation for the contest. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_selection_ids |
xs:IDREFS |
Optional |
Single |
References a set of BallotSelections,
which could be of any selection type
that extends
single-csv-ballot-selection-base. |
If the field is invalid or not present,
then the implementation should ignore
it. |
ballot_sub_title |
xs:string |
Optional |
Single |
Subtitle of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
ballot_title |
xs:string |
Optional |
Single |
Title of the contest as it appears on
the ballot. |
If the element is invalid or not
present, then the implementation should
ignore it. |
electoral_district_id |
xs:IDREF |
Required |
Single |
References an
electoral_district
element that represents the geographical
scope of the contest. |
If the field is invalid, then the
implementation should ignore it. |
electorate_specification |
xs:string |
Optional |
Single |
Specifies any changes to the eligible
electorate for this contest past the
usual, “all registered voters”
electorate. This subtag will most often
be used for primaries and local
elections. In primaries, voters may have
to be registered as a specific party to
vote, or there may be special rules for
which ballot a voter can pull. In some
local elections, non-citizens can vote. |
If the element is invalid or not
present, then the implementation should
ignore it. |
external_identifiers |
xs:string |
Optional |
Single |
Other identifiers for a contest that
links to another source of information. |
If the element is invalid or not
present, then the implementation should
ignore it. |
has_rotation |
xs:boolean |
Optional |
Single |
Indicates whether the selections in the
contest are rotated. |
If the field is invalid or not present,
then the implementation should ignore
it. |
name |
xs:string |
Required |
Single |
Name of the contest, not necessarily how
it appears on the ballot (NB:
BallotTitle should be used for this
purpose). |
If the field is invalid, then the
implementation should ignore it. |
sequence_order |
xs:integer |
Optional |
Single |
Order in which the contests are listed
on the ballot. This is the default
ordering, and can be overrides by data
in a ballot_style
element. |
If the field is invalid or not present,
then the implementation should ignore
it. |
vote_variation |
vote_variation |
Optional |
Single |
Vote variation associated with the
contest (e.g. n-of-m, majority, et al). |
If the field is invalid or not present,
then the implementation should ignore
it. |
other_vote_variation |
other_vote_variation |
Optional |
Single |
If “other” is selected as the
VoteVariation, the name of the
variation can be specified here. |
If the field is invalid or not present,
then the implementation should ignore
it. |
This element describes a political party and the metadata associated with them. These can also include “dummy” parties to indicate a type of contest (e.g., a Voter Nominated candidate_contest can use the PrimaryPartyIds field and a dummy Party object to indicate that the contest is a “Top-Two” primary).
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
abbreviation |
xs:string |
Optional |
Single |
An abbreviation for the party name. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
color |
single-csv-html-color-string |
Optional |
Single |
The preferred display color for the
party, for use in maps and other
displays. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
external_identifiers |
external_identifiers |
Optional |
Single |
Other identifiers that link this party
to other related data sets (e.g. a
campaign finance system, etc). |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
is_write_in |
xs:boolean |
Optional |
Single |
Signals if this political party is one
that is officially recognized by a
local, state, or federal organization,
or is a “write-in” in jurisdictions
which allow candidates to free-form
enter their political affiliation. If
this field is not present then it is
assumed to be false. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
logo_uri |
xs:anyURI |
Optional |
Single |
Web address of a logo to use in
displays. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
name |
xs:string |
Optional |
Single |
The name of the party. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
| id,abbreviation,color,external_identifier_type,external_identifier_othertype,external_identifier_value,logo_uri,name
par01,REP,ff0000,,,,http://example.com/elephant.png,Republican
par02,DEM,0000ff,,,,http://example.com/donkey.png,Democrat
par03,GRN,efefef,,,,http://example.com/tree.png,Green
par04,WFP,ee99aa,,,,http://example.com/worker.png,Working Families Party
|
A restricted string pattern for a six-character hex code representing an HTML
color string. The pattern is:
[0-9a-f]{6}
InternationalizedText
allows for support of multiple languages for a string.
InternationalizedText
has an optional attribute label
, which allows the feed to refer
back to the original label for the information (e.g. if the contact information came from a
CSV, label
may refer to a row ID). Examples of InternationalizedText
can be seen in:
* Any element that extends single-csv-contest-base
* Any element that extends single-csv-ballot-selection-base
* candidate
* single-csv-contact-information
* election
* election_administration
* office
* party
* person
* polling_location
* source
NOTE: Internationalized Text is not currently supported for CSV submissions. “
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
text |
xs:string |
Required |
Repeats |
Contains the translations of a
particular string of text. |
At least one valid Text must be
present for InternationalizedText to
be valid. If no valid Text is
present, the implementation is required
to ignore the InternationalizedText
element. |
Represents the possible selection (e.g. yes/no, recall/do not recall, et al) for a
ballot_measure_contest that would appear on the ballot.
BallotMeasureSelection extends single-csv-ballot-selection-base.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
selection |
xs:string |
Required |
Single |
Selection text for a
ballot_measure_contest |
If the element is invalid or not
present, the implementation is required
to ignore the BallotMeasureSelection
containing it. |
| id,sequence_order,selection
bms001,1,Proposition A
bms002,2,Proposition B
|
A base model for all ballot selection types:
ballot_measure_selection,
candiate_selection, and party_selection.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
sequence_order |
xs:integer |
Optional |
Single |
The order in which a selection can be
listed on the ballot or in results. This
is the default ordering, and can be
overridden by OrderedBallotSlectionIds
in ordered_contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
A structured way of describing the days and hours that a place such as a
office or polling_location is open, or
that an event such as an election is happening. The range of days
indicated by the StartDate and EndDate in each `Schedule`_ element
should not overlap with peer `Schedule`_ elements. For example, it is
invalid to specify a schedule from 10/01/2016 to 10/31/2016 and also
specify a schedule from 10/10/2016 to 10/11/2016 within the same HoursOpen
element.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
schedule |
single-csv-schedule |
Required |
Repeats |
Defines a block of days and hours that a
place will be open. |
At least one valid `Schedule`_ must be
present for HoursOpen to be valid.
If no valid `Schedule`_ is present, the
implementation is required to ignore the
HoursOpen element. |
A sub-portion of the schedule. This describes a range of days, along with one or
more set of open and close times for those days, as well as the options
describing whether or not appointments are necessary or possible.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
hours |
single-csv-hours |
Optional |
Repeats |
Blocks of hours in the date range in
which the place is open. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
is_only_by_appointment |
xs:boolean |
Optional |
Single |
If true, the place is only open during
the specified time window with an
appointment. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_or_by_appointment |
xs:boolean |
Optional |
Single |
If true, the place is open during the
hours specified time window and may also
be open with an appointment. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
is_subject_to_change |
xs:boolean |
Optional |
Single |
If true, the place should be open during
the specified time window, but may be
subject to change. People should contact
prior to arrival to confirm hours are
still accurate. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
start_date |
xs:date |
Optional |
Single |
The date at which this collection of
start and end times and options begin. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
end_date |
xs:date |
Optional |
Single |
The date at which this collection of
start and end times and options end. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,start_time,end_time,is_only_by_appointment,is_or_by_appointment,is_subject_to_change,start_date,end_date,hours_open_id
sch001,07:00:00-06:00,22:00:00-06:00,,true,,2016-10-10,2016-10-12,ho001
sch002,09:00:00-06:00,20:00:00-06:00,true,,,2016-10-13,2016-10-15,ho001
sch003,08:00:00-06:00,14:00:00-06:00,,,true,2016-10-10,2016-10-15,ho002
|
The open and close time for this place. All times must be fully specified,
including a timezone offset from UTC.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
start_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place opens. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
end_time |
single-csv-time-with-zone |
Optional |
Single |
The time at which this place closes. |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
A string pattern restricting the value to a time with an included offset from
UTC. The pattern is
(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|(24:00:00))(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | <HoursOpen id="hours0001">
<Schedule>
<Hours>
<StartTime>06:00:00-05:00</StartTime>
<EndTime>12:00:00-05:00</EndTime>
</Hours>
<Hours>
<StartTime>13:00:00-05:00</StartTime>
<EndTime>19:00:00-05:00</EndTime>
</Hours>
<StartDate>2013-11-05</StartDate>
<EndDate>2013-11-05</EndDate>
</Schedule>
</HoursOpen>
|
The ElectoralDistrict
object represents the geographic area in which contests are held. Examples
of ElectoralDistrict
include: “the state of Maryland”, “Virginia’s 5th Congressional District”,
or “Union School District”. The geographic area that comprises a ElectoralDistrict
is defined by
which precincts link to the ElectoralDistrict
.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
external_identifiers |
external_identifiers |
Optional |
Single |
Other identifiers that link to external
datasets (e.g. OCD-IDs) |
If the element is invalid or not
present, then the implementation is
required to ignore it. |
name |
xs:string |
Required |
Single |
Specifies the electoral area’s name. |
If the field is invalid or not present,
then the implementation is required to
ignore the ElectoralDistrict object
containing it. |
number |
xs:integer |
Optional |
Single |
Specifies the district number of the
district (e.g. 34, in the case of the
34th State Senate District). If a number
is not applicable, instead of leaving
the field blank, leave this field out of
the object; empty strings are not valid
for xs:integer fields. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
type |
district_type |
Required |
Single |
Specifies the type of electoral area. |
If the field is invalid or not present,
then the implementation is required to
ignore the ElectoralDistrict object
containing it. |
other_type |
xs:string |
Optional |
Single |
Allows for cataloging a new
district_type option
when Type is specified as “other”. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
| id,external_identifier_type,external_identifier_othertype,external_identifier_value,name,number,type,other_type
ed001,ocd-id,,ocd-division/country:us/state:ny/borough:brooklyn,Brooklyn,1,borough,
ed002,other,community-board,4,CB 4,2,other,community-board
|
This element extends single-csv-ballot-selection-base to
support contests in which the selections can be groups of one or more parties.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
party_ids |
xs:IDREFS |
Required |
Single |
One or more party IDs
which collectively represent a ballot
selection. |
If one or more parties referenced are
invalid or not present, the
implementation is required to ignore the
PartySelection containing it. |
| id,sequence_order,party_ids
ps001,1,par01 par04
ps002,2,par02
ps003,3,par03
|
A base model for all ballot selection types:
ballot_measure_selection,
candiate_selection, and party_selection.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
sequence_order |
xs:integer |
Optional |
Single |
The order in which a selection can be
listed on the ballot or in results. This
is the default ordering, and can be
overridden by OrderedBallotSlectionIds
in ordered_contest. |
If the field is invalid or not present,
then the implementation is required to
ignore it. |
A SimpleAddressType
represents a structured address.
Tag |
Data Type |
Required? |
Repeats? |
Description |
Error Handling |
structured_line_1 |
xs:string |
Required |
Single |
The address line for a structured
address. Should include the street
number, street name, and any prefix and
suffix. |
If no Line1 is provided, the
implementation should ignore the
SimpleAddressType . |
structured_line_2 |
xs:string |
Optional |
Single |
Additional field for an address |
If no Line2 is provided, the
implementation should ignore it. |
structured_line_3 |
xs:string |
Optional |
Single |
Additional field for an address |
If no Line3 is provided, the
implementation should ignore it. |
structured_city |
xs:string |
Required |
Single |
The City value of a structured address. |
If City is not provided, the
implementation should ignore the
SimpleAddressType . |
structured_state |
xs:string |
Required |
Single |
The State value of a structured address. |
If State is not provided, the
implementation should ignore the
SimpleAddressType . |
structured_zip |
xs:string |
Optional |
Single |
The ZIP code of a structured address. |
If Zip is not provided, the
implementation should ignore the
SimpleAddressType . |