---
title: "Opening Hours module"
---

# Opening Hours module

## Install the module

Before you install, check that your site meets these requirements. You can ask your host, or find the same information in the Joomla administrator under **System > System Information**.

 
## System requirements

 
- Joomla 5.x or 6.x. Older versions of Opening Hours module are still available for Joomla 4.x, and for Joomla 1.5, 2.5 or 3.x (without the latest features).

 Joomla 1.5 support ended in September 2012, Joomla 2.5 support ended in March 2015, and Joomla 3.10 support ended in August 2023.

 
## Before you install

 
- Create a full backup of your website. [Akeeba Backup](http://www.akeeba.com) is a quick way to do this.
- Update Joomla to the latest version.

 
## Install the package

 Go to your Joomla administrator and open **System > Install > Extensions**. Upload the installation file you downloaded from our website, in the **Upload Package File** tab.

 ![install 01](https://www.joomill-kiosk.com/images/documentation/general/install-01.jpg)

 After a few moments, Joomla confirms the extension is installed.

 ![install 02](https://www.joomill-kiosk.com/images/documentation/general/install-02.jpg)

 Modules are not published automatically. Go to **Extensions > Extension Manager**, find **Opening Hours**, then set a module position and menu assignment and publish it.

 
## Install from the Joomla Extension Directory

 Alternatively, go to **System > Install > Extensions** and open the **Install from Web** tab, then search for **Joomill** to find our extensions directly from within Joomla.

 ![install from web](https://www.joomill-kiosk.com/images/documentation/general/install-from-web.png)

 **Next step:** add your business hours in [Regular Opening Hours](https://www.joomill-kiosk.com/index.php?option=com_content&view=article&id=254).


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/install-the-module.md)

## Regular Opening Hours

Use this form for your regular, weekly opening hours.

 ![regular settings](https://www.joomill-kiosk.com/images/documentation/openinghours/regular-settings.jpg)

 
|  |  |
| --- | --- |
| Opening Hours | Enter the opening hours for each day. In the PRO version you can use a second line per day, for example for a lunch break.

 Specify your hours using 24-hour format. For example, 3pm is entered as 15:00.  
Use a '-' to separate opening and closing hours. Spaces are allowed.  
You can also use custom text like: CLOSED. |


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/regular-opening-hours.md)

## Exceptional Opening Hours

**Exceptional Opening Hours** is only available in the PRO version.  
Unlock this and other features by upgrading to **Joomill Opening Hours PRO**  
  
[Go PRO](https://www.joomill-kiosk.com/subscribe/order/product/openinghours-pro)

 Use this form when your opening hours differ from the regular opening hours, for example on holidays or during a special event.

 Click the green + button to add a new date (or date range).

 ![exceptional settings](https://www.joomill-kiosk.com/images/documentation/openinghours/exceptional-settings.jpg)

 
|  |  |
| --- | --- |
| From Date | Enter a date in DD-MM-YYYY (or select a day with the calendar button) from when the exceptional opening hours apply. |
| To Date | Enter a date in DD-MM-YYYY (or select a day with the calendar button) until when the exceptional opening hours apply.  
You can leave this field empty when you only need 1 day. If empty, only the From Date is used. |
| Opening Hours | Enter the opening hours for these exceptional days. You can use 2 lines of openings a day.

 Specify your hours using 24-hour format. For example, 3pm is entered as 15:00.  
Use a '-' to separate opening and closing hours. Spaces are allowed.  
You can also use custom text like: CLOSED or Holidays. |
| Yearly Recurring | Set this date as yearly recurring. Useful for events like Christmas or national holidays. The year in the From Date and To Date fields is ignored. |

 
## Upcoming Exceptional Opening Hours

 You can show the next exceptional openings at the bottom of the module. You can add an intro text, CSS class and number of days in the settings.

 ![upcoming](https://www.joomill-kiosk.com/images/documentation/openinghours/upcoming.jpg)

 
|  |  |
| --- | --- |
| Show Upcoming Exceptional Openings | Select Yes or No. |
| CSS Class | Add a CSS class for styling the upcoming exceptional hours in your template.  
Default: alert alert-info |
| Title | Add a title or intro text to your upcoming exceptional hours in the textarea. You might use HTML. |
| Number of Days to Look Ahead | Enter the number of days to look ahead. When no exceptional openings are found within this range, the block is hidden.  
Default: 30 (days) |

 ![upcoming settings](https://www.joomill-kiosk.com/images/documentation/openinghours/upcoming-settings.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/exceptional-opening-hours.md)

## Display Options

|  |  |
| --- | --- |
| Module Width | Set the width of the module (default: 100%). You can use a percentage (like 90%) or pixels (like 200px). |
| Day / Date / Time Width [PRO] | Set the width of the day, date or time column (default: 30%). You can use a percentage (like 20%) or pixels (like 20px). |
| Day / Date / Time Align | Select the alignment of the day, date or time column. You can choose "Left", "Center" or "Right". |

 ![display settings](https://www.joomill-kiosk.com/images/documentation/openinghours/display-settings.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/display-options.md)

## Date & Time settings

These settings can be found in the "**Display options**" tab.

 
|  |  |
| --- | --- |
| Date Format [PRO] | Choose your favorite date format, displayed on the frontend. The most popular formats are:

 
- d-m-Y (31-12-2014)
- d-m-y (31-12-14)
- m-d-Y (12-31-2014)
- M dS (Dec 31st)
- j. M Y (31. Dec 2014)
- d F (31 December)

 See [http://php.net/manual/en/function.date.php](http://php.net/manual/en/function.date.php) for a complete list of formats. |
| Time Format | Choose your favorite time format, displayed on the frontend. The most popular formats are:

 
- H:i (18:30)
- h:i A (06:30 PM)
- H:i a (18:30 pm)
- gA (6PM)

 See [http://php.net/manual/en/function.date.php](http://php.net/manual/en/function.date.php) for a complete list of formats. |
| Open Suffix [PRO] | Text to show after the opening time, like "hrs" or "uur". Leave empty to display nothing.

 **Example:**  
08:00 uur - 16:00 |
| Close Suffix [PRO] | Text to show after the closing time, like "hrs" or "uur". Leave empty to display nothing.

 **Example:**  
08:00 - 16:00 uur |
| Time Zone | Select the time zone for your business. This setting is used for the highlight options and the currently open/closed status. |
| Hide All openings [PRO] | Don't display any opening hours. Use this to only show the currently open/closed status. |
| Show only today [PRO] | Displays only today and hides all other opening hours. |
| Week Starts on | Select the first day of the week. You can choose "Saturday", "Sunday", "Monday" or "Next 7 days". [PRO] Next 7 days shows today on top, followed by the upcoming days. |
| Show Monday to Friday [PRO] | Displays only Monday to Friday and hides the weekend. |
| Show Dates [PRO] | Shows or hides the Date column. |

 ![datetime settings](https://www.joomill-kiosk.com/images/documentation/openinghours/datetime-settings.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/date-time-settings.md)

## Highlight settings

These settings can be found in the "**Display options**" tab.

 
|  |  |
| --- | --- |
| Highlight Today | With this option you can show today's opening hours in a fancy way. |
| Highlight Color [PRO] | Display today in another color. You can select your favorite color here.  |
| Bold Text [PRO] | Display today in **Bold**. |
| Italic Text [PRO] | Display today in *Italic*. |

 ![highlight settings](https://www.joomill-kiosk.com/images/documentation/openinghours/highlight-settings.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/highlight-settings.md)

## Notes

**Notes** are only available in the PRO version.  
Unlock this and other features by upgrading to **Joomill Opening Hours PRO**  
  
[Go PRO](https://www.joomill-kiosk.com/subscribe/order/product/openinghours-pro)

 
|  |  |
| --- | --- |
| Show Notes | Display notes at Top or Bottom of the module. |
| Notes CSS Class | Enter a CSS class for styling notes in your template. |
| Notes | Enter your notes in the textarea. You might use HTML. |

 ![notes settings](https://www.joomill-kiosk.com/images/documentation/openinghours/notes-settings.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/notes.md)

## Currently Open

**Currently Open/Closed** is only available in the PRO version.  
Unlock this and other features by upgrading to **Joomill Opening Hours PRO**  
  
[Go PRO](https://www.joomill-kiosk.com/subscribe/order/product/openinghours-pro)

 The module can show a status message when the business is currently open or closed. Enable it with **Show currently open status** and fill in the **Currently Open Message** and **Currently Closed Message** fields. You can use plain text or HTML, and you can style the surrounding box with the **Open CSS class** / **Closed CSS class** fields.

 In the frontend it will look like:

 ![currently open](https://www.joomill-kiosk.com/images/documentation/openinghours/currently-open.jpg) ![currently closed](https://www.joomill-kiosk.com/images/documentation/openinghours/currently-closed.jpg)

 
|  |  |
| --- | --- |
| Current Status position | Display Currently open / closed message at Top or Bottom of the module. |
| Show Currently Open Message | Show a message when your business is open. |
| Open CSS Class | Set a CSS Class for the Currently Open message.   
Default: alert alert-success text-center |
| Currently Open Message | Enter a message when your business is open. You might use HTML like <div>, <h4>, etc. |
| Show Currently Closed Message | Show a message when your business is closed.

 ***Tip:** for a line break use `<br>` (or `<br />` with a space). Joomla's form filtering removes the exact form `<br/>` when the module is saved.* |
| Closed CSS Class | Set a CSS Class for the Currently Closed message.   
Default: alert alert-danger text-center |
| Currently Closed Message | Enter a message when your business is closed. You might use HTML like <div>, <h4>, etc.

 ***Tip:** for a line break use `<br>` (or `<br />` with a space). Joomla's form filtering removes the exact form `<br/>` when the module is saved.* |

 ![currently settings](https://www.joomill-kiosk.com/images/documentation/openinghours/currently-settings.jpg)

 
## Live status tokens

 Inside the **Currently Open Message** and **Currently Closed Message** fields you can use the following tokens. They are replaced automatically with the live status of your opening hours:

 
|  |  |
| --- | --- |
| `{statuslabel}` | A short status word: **Open**, **Closed**, **Closing soon** or **On a break** |
| `{nextchange}` | The next change as a time. When open, the closing time (for example 18:00); when closed, the next opening time with the day if it is not today (for example Mon 09:00) |
| `{countdown}` | A live countdown to the next change (for example in 30 min, in 2 h, in 2 days). It updates automatically in the visitor's browser, without reloading the page |
| `{reopensat}` | During a lunch break (between two time slots) the time the business reopens (for example 13:00); empty otherwise |

 
### Examples

 
- Open message: `We are open, we close {countdown}` becomes *We are open, we close in 30 min*
- Closed message: `Closed, we open again {nextchange}` becomes *Closed, we open again Mon 09:00*

 **Note:** these tokens are processed by the **Opening Hours content plugin**, so that plugin must be installed and enabled. Without it the tokens are shown as plain text.

 The countdown is always calculated in the module's configured time zone, and the logic takes regular hours, holiday/exceptional dates, overnight hours (closing after midnight) and lunch breaks (a second time slot) into account.

 
## Closing soon and break messages

 Two optional fields let you show an extra status line for specific situations. Leave a field empty to show nothing.

 
- **Custom text when closing soon:** shown as an extra line while the business is open and about to close, within the configured threshold. Tokens are allowed, for example `Hurry, we close {countdown}!`
- **Closing soon threshold (minutes):** how many minutes before closing the "closing soon" state becomes active (default: 30). This field appears once you fill in Custom text when closing soon.
- **Custom text during a break:** shown as an extra line during a break between two time slots (for example a lunch break), for example `On a break, back at {reopensat}`.


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/currently-open-closed.md)

## Microdata

**Microdata** is only available in the PRO version.  
Unlock this and other features by upgrading to **Joomill Opening Hours PRO**  
  
[Go PRO](https://www.joomill-kiosk.com/subscribe/order/product/openinghours-pro)

 This tab sets up structured data (microdata) for your business hours, so search engines can read them directly.

 Search engines can show your opening hours right in the search results, and visitors get a clearer, more relevant listing for your business.

 ![microdata](https://www.joomill-kiosk.com/images/documentation/openinghours/microdata.jpg)

 
|  |  |
| --- | --- |
| Use Microdata | Select yes or no. |
| Business Type | Enter your business type. |
| Company Name | Enter your company name. |
| Company Description | Enter your company description. |
| Address | Enter your address (street and number). |
| ZIP Code | Enter your ZIP code. |
| City | Enter your city. |
| Region | Enter your region. |
| Country | Enter your country. |
| Google Maps | Enter the link to your Google Maps location. |
| Latitude | Enter your latitude. |
| Longitude | Enter your longitude. |
| Phone Number | Enter your phone number. |
| E-mail | Enter your e-mail address. |
| URL | Enter your website URL. |
| Price Range | Enter your price range. |
| Logo | Enter the link to your logo. |

 
## Microdata results

 ![microdata results](https://www.joomill-kiosk.com/images/documentation/openinghours/microdata-results.jpg)


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/microdata.md)

## Custom CSS

The **Advanced** tab of the module has a Custom CSS field, where you can add your own styling for the Opening Hours module.

 ![Opening Hours Custom CSS field](https://www.joomill-kiosk.com/images/documentation/openinghours/openinghours-custom-css.png)

 Use it for small tweaks that go beyond the built-in display options, for example a border around the module, a custom font, or a background color for a specific day. The field uses a code editor and accepts plain CSS.

 The custom CSS is scoped to this module instance only, so it will not affect other modules or the rest of your site.

 You can combine this with the **Module Class Suffix** field in the same Advanced tab, which adds a CSS class to the module wrapper, so you can target this specific module instance in your CSS.


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/custom-css.md)

## Content plugin

**The Opening Hours Content plugin** is only available in the PRO version.  
Unlock this and other features by upgrading to **Joomill Opening Hours PRO**  
  
[Go PRO](https://www.joomill-kiosk.com/subscribe/order/product/openinghours-pro)

 **Opening Hours module v6.1.0 or later is required.**

 The Opening Hours content plugin lets you show, hide and insert live opening-hours information anywhere content plugins run: articles, custom HTML modules, and the module's own open/closed messages. Add the tags below to your content; the plugin replaces them when the page is displayed.

 Configuration is not applicable, just enable the plugin and you are good to go.

 When you use this in a custom HTML module, make sure you enable the Prepare Content option in the options tab of the custom HTML module.

 
### Conditional blocks

 Show or hide a block of content based on the current status:

 
- `{openinghours status="open"}...{/openinghours}` shown only when currently open
- `{openinghours status="closed"}...{/openinghours}` shown only when currently closed
- `{opentoday}...{/opentoday}` shown when open at some point today
- `{closedtoday}...{/closedtoday}` shown when closed all day today
- `{exceptionaltoday}...{/exceptionaltoday}` shown when today is an exceptional/holiday date
- `{closingsoon}...{/closingsoon}` shown only when currently open and within the "closing soon" threshold

 Tokens placed inside these blocks are processed as well.

 
### Inline tokens

 
|  |  |
| --- | --- |
| `{statuslabel}` | A short status word: **Open**, **Closed**, **Closing soon** or **On a break** |
| `{nextchange}` | The next change as a time (closing time when open; next opening time, with day if not today, when closed) |
| `{countdown}` | A live countdown to the next change (for example in 30 min); updates automatically in the browser |
| `{reopensat}` | The reopening time during a lunch break; empty otherwise |
| `{opentime}` / `{closetime}` | Today's first opening / closing time |
| `{opentime2}` / `{closetime2}` | Today's second opening / closing time (lunch break) |
| `{currentdate}` / `{currenttime}` | The current date / time. Accepts an optional `format="..."` attribute |

 
### Multiple modules

 Optional: when you have multiple modules, you can target a specific module with `module="MODULE-ID"`.

 Example: `{opentime module="114"}`

 
### Date and time format

 The date and time format used in this plugin is based on the settings of the module. You can override this with the format attribute inside the tag.

 Example: `{currentdate format="d-m-Y"}`

 Example: `{closetime format="H:i"}`

 
### Examples

 
- Urgency call to action: `Order now, {countdown} open!`
- A notice that shows and hides itself: `{closingsoon} Last orders, we close {countdown}!{/closingsoon}`
- A status badge: `Status: {statuslabel}`
- A smart closed notice: `{openinghours status="closed"}We open again {nextchange}.{/openinghours}`
- Break communication: `{openinghours status="closed"}On a break, back at {reopensat}.{/openinghours}`

 The `{countdown}` token keeps ticking live inside articles too. The opening-hours logic accounts for regular hours, holiday/exceptional dates, overnight hours and lunch breaks, so the tokens are correct in every situation.


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/content-plugin.md)

## Troubleshooting & FAQ

## Troubleshooting

 
### The opening hours or countdown show the wrong time

 Check the **Time Zone** field in Date & Time settings. All calculations, including the live countdown and the currently open/closed status, use this time zone, not your server's default.

 
### The second line for lunch breaks doesn't appear

 A second time slot per day (for example a lunch break) is a PRO feature. In the FREE version, only one line per day is available.

 
### Tokens like {countdown} or {statuslabel} show up as plain text

 These tokens are processed by the **Opening Hours content plugin**, which is PRO-only and must be installed and enabled separately from the module. Without it, tags in articles and custom HTML modules are not replaced.

 
### Tokens don't work in a custom HTML module

 Enable the **Prepare Content** option in that module's Options tab. Without it, Joomla does not run content plugins on the module's text.

 
### Microdata isn't showing up in search results

 Search engines can take time to re-crawl and re-index a page, this is not immediate. Also double-check that **Use Microdata** is enabled and the business fields are filled in, on the Microdata tab (PRO).

 
### I want to preview a specific date or time (for example an upcoming holiday)

 Enable **Debug** and **Test Mode** in the Advanced tab, then set a **Test Date**. The module will calculate its open/closed status and countdown as if that date and time were now, so you can preview exceptional hours before they go live. Turn Test Mode off again afterwards, it is meant for previewing, not for daily use.

 ![Opening Hours Debug, Test Mode and Test Date fields](https://www.joomill-kiosk.com/images/documentation/openinghours/openinghours-debug-testmode.png)

 
## FAQ

 
### What's the difference between FREE and PRO?

 The FREE version covers regular weekly opening hours with basic display options. PRO adds a second time slot per day, exceptional/holiday hours, the currently open/closed status message, notes, microdata, the content plugin, and several extra display and formatting options, each marked **[PRO]** in these articles.

 
### Can I remove the "Opening Hours module by: Joomill" text?

 Yes. In the FREE version, use the **Show Footer?** toggle on the Advanced tab to hide it. The PRO version does not show this text at all.

 
### Can I use the module more than once on a site?

 Yes, add multiple instances of the module with different settings, for example for different locations. Tokens in the content plugin accept a `module="MODULE-ID"` attribute so you can target a specific instance.

 
### Does this work with any Joomla template?

 Yes, the module renders standard HTML and can be styled with the built-in display options or your own Custom CSS, it does not depend on a specific template.


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/troubleshooting-faq.md)

## Changelog

{changelog element="mod_openinghours"}


[Lees meer...](https://www.joomill-kiosk.com/opening-hours-module/changelog.md)

