Opening Hours for TYPO3
Opening hours on TYPO3 websites: regular hours, holidays, special opening hours and current status. slub_web_openhours is not publicly available.
Book a free initial callVisitors want to know whether a place is open right now, not look up the regular hours
The most common question visitors bring to the website of a library, a museum or a public authority is simple: are you open right now? Yet most TYPO3 websites show a static table of regular opening hours, which is wrong on public holidays, bridge days and special closures. The solution is an opening hours manager that keeps regular opening hours, public holidays and special opening hours in a single data structure and shows the current status in the frontend: open (green) or closed (red), including the next opening time. Judging by its name, slub_web_openhours comes from SLUB Dresden (the Saxon State and University Library Dresden), but it is published neither in the TER nor on Packagist nor in SLUB’s public GitHub repositories, so its feature set cannot be verified.
Typical use cases involve libraries, museums and municipal facilities
The primary scenario is university libraries with several locations. SLUB Dresden operates several locations with different opening hours. The main library keeps different hours from the branch library, and shorter hours apply during semester breaks. An opening hours manager keeps each location as a separate record with its own hours. On the website, a student sees at a glance which location is open right now and until when.
A second scenario is museums and galleries. An art museum has regular opening hours (Tuesday to Sunday, 10 a.m. to 6 p.m., closed on Mondays), but extended hours during a special exhibition (daily until 9 p.m.) and closures on public holidays. It makes sense to store these exceptions for defined periods without changing the regular hours. Once the special period ends, the standard hours then apply again automatically.
The third scenario is municipal facilities such as citizen service offices, swimming pools and youth centers. A city with 20 public facilities maintains the opening hours centrally in the TYPO3 backend, and a widget on each facility’s page shows the current status. The outdoor pool keeps different hours in summer and winter, and the citizen service office closes on bridge days. The opening hours manager has to handle all of this.
The technical architecture stores rules and exceptions in a calendar-based data structure
Such a manager needs three data levels: regular hours (Monday to Sunday, hour:minute to hour:minute), recurring exceptions (public holidays that come back every year) and one-off exceptions (a special closure on March 15, extended hours on December 24). Regular hours form the basis, and exceptions override them. The logic is simple: is there an exception for today’s date? If so, the exception hours apply. If not, the regular hours for the current weekday apply.
A frontend plugin renders the status through Fluid templates. The current state (open/closed) is calculated on the server and output as a CSS class, so the coloring can be controlled with Tailwind or custom CSS. Optionally, the widget shows the next opening time: “Currently closed. Opens next: Monday, 8:00 a.m.”
For Schema.org integration, the hours can be output as OpeningHoursSpecification in JSON-LD and so passed on to Google, although Google does not guarantee that it will display them. Institutions that want correct opening hours in Google Maps therefore also maintain them directly in their Google Business Profile, including special hours.
Common problems involve time zones, missing holidays and caching
The most common problem is caching. If TYPO3 caches the page and the cache only expires after two hours, the widget can show the wrong status for up to two hours. The fix: embed the opening hours widget as an uncached plugin via USER_INT. That costs minimal performance (one database query per request) but guarantees a correct status.
The second problem is missing holidays. TYPO3 does not ship a preconfigured list of public holidays. Each institution has to enter its holidays manually or fill them via an import. Holidays often differ by region as well: in Germany, for example, Corpus Christi is a public holiday in Bavaria but not in Berlin. Region-specific holidays therefore require manual maintenance or a script that imports them from an API (such as feiertage-api.de for Germany).
The third topic is time zones at international institutions. A calculation on the server works with the server’s time zone. If the TYPO3 server runs on UTC but the institution is on Central European Time, the displayed hours are wrong. The fix: set the PHP time zone in the TYPO3 configuration to the institution’s time zone or, for institutions spread across several time zones, adjust the calculation with a UTC offset in the Fluid template.
slub_web_openhours is not publicly available
slub_web_openhours is published neither in the TER nor on Packagist, and the extension cannot be found among SLUB Dresden’s public GitHub repositories. Which TYPO3 versions it supports therefore cannot be verified. For opening hours projects, Gosign recommends checking the Schema.org output with Google’s testing tools and maintaining the opening hours in the Google Business Profile as well, so that they appear correctly in Google Maps and in the business profile in Search.
Free initial call: 30 minutes with a TYPO3 specialist
We analyse your project, estimate effort and timeframe, no-obligation, no preparation needed.
Discuss project, 30 min, free25 years of TYPO3 experience · 800+ extensions analysed · AI-accelerated development
AI-accelerated development: 65% faster
TYPO3 Update & GDPR Audit
We upgrade your TYPO3 installation cost-effectively to the current LTS version - including all extensions, even outdated and unmaintained ones.
All extensions migrated
Including outdated, unmaintained or custom developments.
Fixed-price offer
Transparent costs, no hidden rework.
AI-accelerated
30-50% cheaper than market average thanks to AI-assisted code analysis.
Zero data loss
Complete data migration with rollback safety.
GDPR Audit: We audit your TYPO3 installation for GDPR compliance - cookie consent, tracking, extensions, forms and hosting - and implement all measures cost-effectively.
Gosign is a Hamburg-based digital agency with 25 years of experience in TYPO3 development. We have analysed over 800 TYPO3 extensions and today develop with AI assistance up to 70% faster than with classic methods. Our clients are mid-sized companies, universities and public institutions across Europe.
Last updated: April 2026