HoursOpen

A structured way of describing the days and hours that a place such as a Office or PollingLocation 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 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.

Schedule

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 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.
IsOnlyByAppointment 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.
IsOrByAppointment 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.
IsSubjectToChange 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.
StartDate 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.
EndDate 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.

Hours

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
StartTime TimeWithZone 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.
EndTime TimeWithZone 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.

TimeWithZone

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>