An example of the office_hours formatter with all_day, midnight, exceptions, season
'regular' weekdays can be maintained with start and closing times (or with an 'all day' indicator) , comments and useful accelerators
Also, exception dates can be maintained, and seasonal schedules.

Defines a 'weekly office hours' field type, allowing you add a field to any Content type, in order to display when a location is open or closed on a weekly basis.
In Version 8, you can also add Exception days, specifying a Date.

Please check the Field settings, Formatter settings and Widget settings to explore all features!

The D8-version is the version for new functionalities.
The D7-version is only maintained for errors.
The D6-version is not maintained anymore.

Hot topics

Some help is appreciated for the following topics:
Add schema.org/openingHours microdata
Add timezone feature
#3218101: Add PHPUnit tests

Functionalities

    The module defines a field type, and the following widgets:
  • a 'List' widget allows to add a timeslot day by day. (it is not recommended to use this. It is mainly used to test functionality against a close-to-standard widget.)
  • a 'Week' widget shows all days of the week at once,
  • a 'Week with exceptions' allows to additionally add exception dates, where office hours are different from normal weekdays (holiday, Christmas).
    The widget provides:
  • 'allowed hours' restrictions;
  • input validation;
  • use of either a 24 or 12 hour clock;
  • using 1, 2 or even more 'time blocks' per day;
  • a comment per time slot (E.g., 'First friday of the month');
  • links to easily copy or delete time slots.
    The formatter provides:
  • an 'open now'/'closed now' indicator (formatter);
  • options to group days (E.g., "Mon-Fri 12:00-22:00").
  • options to maintain 'Exception days'. (v8.x-1.7)
  • options to display a 'Select List', that can be opened/closed. (v8.x-1.7)
  • integration for openingHours metadata from schema.org
  • integration for openingHoursSpecification metadata from using the Schema.org Metatag module (v8.x-1.6)
  • a hook to alter the formatted time (see office_hours.api.php) (v8.x-1.7).
  • a hook to alter the 'current' time for timezones (see office_hours.api.php) (v8.x-1.7).

This allows you to easily create your own display. For example, next to the 'normal' tabular layout or text format, you can create a view to export the data to a Google Places bulk upload file.

See this nice use case, that shows how you can maintain and publish changing opening hours in advance. In the meantime, we are working on #1743366: [Season Meta] Add "Seasonal Hours / Duration" feature

See also the following review by Lullabot: Module Monday: Office Hours

Dependencies

This module depends on the Date module.

Project information

Releases