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<HoursOpen id="hours0001">
 2  <Schedule>
 3    <Hours>
 4      <StartTime>06:00:00-05:00</StartTime>
 5      <EndTime>12:00:00-05:00</EndTime>
 6    </Hours>
 7    <Hours>
 8      <StartTime>13:00:00-05:00</StartTime>
 9      <EndTime>19:00:00-05:00</EndTime>
10    </Hours>
11    <StartDate>2013-11-05</StartDate>
12    <EndDate>2013-11-05</EndDate>
13  </Schedule>
14</HoursOpen>