DoubleShore.Kit.OpeningHours 1.0.165

DoubleShore Opening Hours

A custom Umbraco property editor for managing weekly business opening hours, with support for two shifts per day (e.g. a morning and an afternoon block separated by a lunch break).

Features

  • Edit opening and closing times for each day of the week (Monday through Sunday).
  • Optional lunch break per day (open2 = lunch start, close2 = lunch end) for split working hours.
  • Per-day "scheduled" toggle to mark a day as open or closed.
  • Holiday / special dates — override the hours for a specific date or mark it closed (e.g. public holidays), with an optional note.
  • Value stored as JSON and exposed to views through a strongly-typed property value converter (OpeningHoursSchedule: Days + Exceptions), including a culture-aware abbreviated day name (e.g. "Mon" in en-US, "seg." in pt-PT).
  • "Open now / next open" helperschedule.GetStatus() / schedule.IsOpenNow() (in DoubleShore.Kit.OpeningHours.Extensions) compute whether the business is open right now and when it next opens, honouring lunch breaks and holiday exceptions.
  • schema.org JSON-LDOpeningHoursSchema.BuildOpeningHoursSpecification(schedule) (in DoubleShore.Kit.OpeningHours.Schema) emits OpeningHoursSpecification entries, including date-scoped validFrom/validThrough for special dates.
  • 12-hour / 24-hour display — a data-type setting ("12-hour clock (AM/PM)") controls how times render on the website (e.g. 1:00 PM vs 13:00). Times are always entered and stored in 24-hour HH:mm; use schedule.FormatTime(value) to render with the chosen format. Exposed on OpeningHoursSchedule.TwelveHour.

Data-type setup

Create the data type with the Opening Hours property editor (schema DoubleShore.OpeningHours). The "12-hour clock" setting only appears when the data type uses this schema — a data type built on the generic Umbraco.Plain.String schema with this UI will store/read values fine but won't surface the setting.

Value shape

The stored value is a JSON object: { "days": [ …7 days… ], "exceptions": [ … ] }. The legacy bare-array shape ([ …7 days… ]) is still read transparently, so existing content keeps working.

Requirements

  • Umbraco 17
  • .NET 10

Installation

dotnet add package DoubleShore.Kit.OpeningHours

The property editor and its backoffice UI register automatically once the package is installed — no manual configuration is required.

Usage

  1. In the Umbraco backoffice, go to Settings → Data Types and create a new data type.
  2. Choose DoubleShore Opening Hours as the property editor.
  3. Save the data type, then add it as a property on any document type.
  4. Editors can then set per-day opening/closing times (and an optional second shift) on content using that document type.

The saved value is available on your published models via the package's property value converter as a typed schedule you can render in your views.

License

MIT

Showing the top 20 packages that depend on DoubleShore.Kit.OpeningHours.

Packages Downloads
DoubleShore.Kit.Cms
DoubleShore CMS — Razor Class Library with Umbraco BlockGrid views, helpers, and backoffice extensions for the DoubleShore base template.
0

.NET 10.0

Version Downloads Last updated
18.1.1-dev.20260901T220314 0 02/09/2026
18.1.1-dev.20260901T213918 0 02/09/2026
18.1.1-dev.20260831T115349 0 02/09/2026
18.1.1-dev.20260831T113816 0 02/09/2026
18.1.1-dev.20260831T111816 0 02/09/2026
18.1.1-dev.20260831T104318 0 02/09/2026
18.1.1-dev.20260828T163817 0 02/09/2026
18.1.1-dev.20260828T154318 0 02/09/2026
18.1.1-dev.20260828T113555 0 02/09/2026
18.1.1-dev.20260828T111252 0 02/09/2026
18.1.1-dev.4 0 02/09/2026
18.1.1-dev.1 0 02/09/2026
18.1.0 0 02/09/2026
1.0.216 0 02/09/2026
1.0.215 0 02/09/2026
1.0.214 0 02/09/2026
1.0.213 0 02/09/2026
1.0.212 0 02/09/2026
1.0.211 0 02/09/2026
1.0.210 0 02/09/2026
1.0.209 0 02/09/2026
1.0.208 0 02/09/2026
1.0.207 0 02/09/2026
1.0.206 0 02/09/2026
1.0.205 0 02/09/2026
1.0.204 0 02/09/2026
1.0.203 0 02/09/2026
1.0.202 0 02/09/2026
1.0.201 0 02/09/2026
1.0.200 0 02/09/2026
1.0.199 0 02/09/2026
1.0.198 0 02/09/2026
1.0.197 0 02/09/2026
1.0.196 0 02/09/2026
1.0.195 0 02/09/2026
1.0.194 0 02/09/2026
1.0.193 0 02/09/2026
1.0.192 0 02/09/2026
1.0.191 0 02/09/2026
1.0.190 0 02/09/2026
1.0.189 0 02/09/2026
1.0.188 0 02/09/2026
1.0.187 0 02/09/2026
1.0.186 0 02/09/2026
1.0.185 0 02/09/2026
1.0.184 0 02/09/2026
1.0.183 0 02/09/2026
1.0.182 0 02/09/2026
1.0.181 0 02/09/2026
1.0.180 0 02/09/2026
1.0.179 0 02/09/2026
1.0.178 0 02/09/2026
1.0.177 0 02/09/2026
1.0.176 0 02/09/2026
1.0.175 0 02/09/2026
1.0.174 0 02/09/2026
1.0.173 0 02/09/2026
1.0.172 0 02/09/2026
1.0.171 0 02/09/2026
1.0.170 0 02/09/2026
1.0.169 0 02/09/2026
1.0.168 0 02/09/2026
1.0.167 0 02/09/2026
1.0.166 0 02/09/2026
1.0.165 0 02/09/2026
1.0.164 0 02/09/2026
1.0.163 0 02/09/2026
1.0.162 0 02/09/2026
1.0.161 0 02/09/2026
1.0.160 0 02/09/2026
1.0.159 0 02/09/2026
1.0.158 0 02/09/2026
1.0.157 0 02/09/2026
1.0.156 0 02/09/2026
1.0.155 0 02/09/2026
1.0.154 0 02/09/2026
1.0.153 0 02/09/2026
1.0.152 0 02/09/2026
1.0.151 0 02/09/2026
1.0.150 0 02/09/2026
1.0.149 0 02/09/2026
1.0.148 0 02/09/2026
1.0.147 0 02/09/2026
1.0.146 0 02/09/2026
1.0.145 0 02/09/2026
1.0.144 0 02/09/2026
1.0.143 0 02/09/2026
1.0.142 0 02/09/2026
1.0.141 0 02/09/2026
1.0.140 0 02/09/2026
1.0.139 0 02/09/2026
1.0.138 0 02/09/2026
1.0.137 0 02/09/2026
1.0.136 0 02/09/2026
1.0.135 0 02/09/2026
1.0.134 0 02/09/2026
1.0.133 0 02/09/2026
1.0.132 0 02/09/2026
1.0.131 0 02/09/2026
1.0.130 0 02/09/2026
1.0.129 0 02/09/2026
1.0.128 0 02/09/2026
1.0.127 0 02/09/2026
1.0.126 0 02/09/2026
1.0.125 0 02/09/2026
1.0.124 0 02/09/2026
1.0.123 0 02/09/2026
1.0.122 0 02/09/2026
1.0.121 0 02/09/2026
1.0.120 0 02/09/2026
1.0.119 0 02/09/2026
1.0.118 0 02/09/2026
1.0.117 0 02/09/2026
1.0.116 0 02/09/2026
1.0.115 0 02/09/2026
1.0.114 0 02/09/2026
1.0.113 0 02/09/2026