opening-hours-formats: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Replace <entry-title> with {{DISPLAYTITLE:}})
(Adds section for schema.org's opening hours type and properties.)
Line 92: Line 92:
     </table>
     </table>
</source>
</source>
== schema.org ==
=== opening hours property===
schema.org has an [https://schema.org/openingHours opening hours] <dfn>property</dfn>. Days are specified with two letter abbreviations, e.g. <abbr title="Monday">Mo</abbr>, <abbr title="Tuesday">Tu</abbr>, etc.; days can be comma separated for separate days or a range can be specified with a range. Times are specified in 24 hour format. Examples:
<pre>
  <data lang="en" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Open Monday, Wednesday, Friday 9am-1pm</data>
</pre>
<pre>
  <data lang="en" itemprop="openingHours" value="Mo-Fr 09:00-13:00">Open Monday-Friday 9am-1pm</data>
</pre>
<pre>
  <data lang="fr" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Disponible lundi, mercredi, vendredi 9:00-13:00</data>
</pre>
<pre>
  <data lang="de" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Montag, Mittwoch, Freitag 9:00-13:00</data>
</pre>
Note: the examples from the [https://schema.org/openingHours schema website] use the <code>content</code> attribute on the <code>p</code> element. This does not appear to be allowed in [https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes html]. These examples were changed to use the <code>data</code> element with the <code>value</code> attribute.
=== opening hours type ===
There is also a [https://schema.org/OpeningHoursSpecification Opening Hours Specification] <dfn>type</dfn>, which can use the opening hours property along with more granular properties to specify exceptions, e.g., "open 9-6 except on New Year's Day." This type has a more complex syntax. There is a dayOfWeek property that uses a url to specify the day, e.g. https://schema.org/Tuesday. There are separate properties for opens and closes. Example:
<pre>
<p>Opening hours</p>
<p itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
  <span itemprop="dayOfWeek" href="https://schema.org/Monday">Monday</span>
  <time itemprop="opens" content="09:00">9:00 AM</time> - <time itemprop="closes" content="17:00">5:00 PM</time>
</p>
<p itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
  <span itemprop="dayOfWeek" href="https://schema.org/Tuesday">Tuesday</span>
  <time itemprop="opens" content="09:00:00">9:00 AM</time> - <time itemprop="closes" content="17:00:00">5:00 PM</time>
</p>
</pre>


== see also ==
== see also ==

Revision as of 18:25, 16 December 2020


This is part of an effort per the microformats process to research, gather examples, and brainstorm for a microformat for marking up the opening-hours for a business or organization.


OpenStreetMap

OpenStreetMap allows venues to be tagged with the opening_hours tag. The value of this tag has been formalized and is defined in the TimeDomain specification, where there is also a JavaScript implementation.

Key:opening_hours is also defined on the OSM Wiki.

The same string-based format is used to mark the times of religious services in places of worship using the service_times tag, the times of collections from post boxes with the collection-times tag, and there is a proposal to mark venues which allow smoking (possibly in a separate area) with the smoking_hours tag, and also with the 'lit' tag to specify when a feature (e.g. building) is lit up.

A broader proposal also exists for using the opening_hours format for describing conditional restrictions, for instance roads that have speed limits that vary depending on time of day, and roads that allow only specific types of traffic (buses and bicycles, for instance) during periods of the day.

Comments can also be added in quotations.

Examples:

  • Tu-Su 08:00-15:00;Sa 08:00-12:00 – see node:624582426, a cafe in Terlizzi, Italy.

Google maps display

Google places uses this format to *display* the opening hours, and then applies some javascript to hide the lines which are not immediately useful: The translate the day names and the time formats into the users locale.

This is clearly rendered data for end user consumption and not a format one can use to establish a standard.

See an example here with opening hours: http://maps.google.com/maps/place?cid=17374953169507020841

<table style="" id="oh-ov-table" class="oh-table">
      <tbody>
        <tr class="oh-highlight-day">
          <td class="oh-day">
            Montag
          </td>
          <td dir="ltr">
            11:00-16:00
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Dienstag
          </td>
          <td dir="ltr">
            11:00-22:00
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Mittwoch
          </td>
          <td dir="ltr">
            11:00-22:00
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Donnerstag
          </td>
          <td dir="ltr">
            11:00-22:00
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Freitag
          </td>
          <td dir="ltr">
            11:00-16:00
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Samstag
          </td>
          <td dir="ltr">
            Geschlossen
          </td>
        </tr>
        <tr>
          <td class="oh-day">
            Sonntag
          </td>
          <td dir="ltr">
            Geschlossen
          </td>
        </tr>
      </tbody>
    </table>

schema.org

opening hours property

schema.org has an opening hours property. Days are specified with two letter abbreviations, e.g. Mo, Tu, etc.; days can be comma separated for separate days or a range can be specified with a range. Times are specified in 24 hour format. Examples:

  <data lang="en" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Open Monday, Wednesday, Friday 9am-1pm</data>
  <data lang="en" itemprop="openingHours" value="Mo-Fr 09:00-13:00">Open Monday-Friday 9am-1pm</data>
  <data lang="fr" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Disponible lundi, mercredi, vendredi 9:00-13:00</data>
  <data lang="de" itemprop="openingHours" value="Mo,We,Fr 09:00-13:00">Montag, Mittwoch, Freitag 9:00-13:00</data>

Note: the examples from the schema website use the content attribute on the p element. This does not appear to be allowed in html. These examples were changed to use the data element with the value attribute.

opening hours type

There is also a Opening Hours Specification type, which can use the opening hours property along with more granular properties to specify exceptions, e.g., "open 9-6 except on New Year's Day." This type has a more complex syntax. There is a dayOfWeek property that uses a url to specify the day, e.g. https://schema.org/Tuesday. There are separate properties for opens and closes. Example:

<p>Opening hours</p>
<p itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
  <span itemprop="dayOfWeek" href="https://schema.org/Monday">Monday</span>
  <time itemprop="opens" content="09:00">9:00 AM</time> - <time itemprop="closes" content="17:00">5:00 PM</time>
</p>
<p itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
  <span itemprop="dayOfWeek" href="https://schema.org/Tuesday">Tuesday</span>
  <time itemprop="opens" content="09:00:00">9:00 AM</time> - <time itemprop="closes" content="17:00:00">5:00 PM</time>
</p>


see also