StreetSegment

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

AddressDirection

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.

IncludesAllAddresses

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.

IncludesAllStreets

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.

OddEvenBoth

OebEnum

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.

PrecinctId

xs:IDREF

Required

Single

References the Precinct that contains the entire street segment. If a precinct has a SpatialBoundary which also contains the entire street segment, then the precinct assignment from the segment will be preferred over the assignment defined by the spatial boundary.

If the field is invalid, then the implementation is required to ignore the StreetSegment element containing it.

StartHouseNumber

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.

EndHouseNumber

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.

HouseNumberPrefix

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.

HouseNumberSuffix

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.

StreetDirection

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.

StreetName

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.

StreetSuffix

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.

UnitNumber

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.

 1<StreetSegment id="ss999999">
 2   <City>Charlottesville</City>
 3   <IncludesAllAddresses>true</IncludesAllAddresses>
 4   <OddEvenBoth>both</OddEvenBoth>
 5   <PrecinctId>pre99999</PrecinctId>
 6   <State>VA</State>
 7   <StreetName>CHAPEL HILL</StreetName>
 8   <StreetSuffix>RD</StreetSuffix>
 9   <Zip>22901</Zip>
10</StreetSegment>
11<StreetSegment id="ss309904">
12   <City>GREENWOOD</City>
13   <OddEvenBoth>both</OddEvenBoth>
14   <PrecinctId>pre92145</PrecinctId>
15   <StartHouseNumber>1</StartHouseNumber>
16   <EndHouseNumber>201</EndHouseNumber>
17   <State>VA</State>
18   <StreetName>MISTY MOUNTAIN</StreetName>
19   <StreetSuffix>RD</StreetSuffix>
20   <Zip>22943</Zip>
21</StreetSegment>
22<StreetSegment id = "ss1"
23   <City>GREENWOOD</City>
24   <OddEvenBoth>both</OddEvenBoth>
25   <PrecinctId>pre92145</PrecinctId>
26   <StartHouseNumber>1</StartHouseNumber>
27   <EndHouseNumber>1</EndHouseNumber>
28   <HouseNumberPrefix>B</HouseNumberPrefix>
29   <HouseNumberSuffix>1/2</HouseNumberSuffix>
30   <State>VA</State>
31   <StreetName>MISTY MOUNTAIN</StreetName>
32   <StreetSuffix>RD</StreetSuffix>
33   <Zip>22943</Zip>
34</StreetSegment>