---
title: "Opening Hours for Laravel — dokumentácia | Roundly"
description: "Vývojárska dokumentácia Opening Hours for Laravel: týždenné a sezónne rozvrhy, sviatky, dotazy správne pri zmene času, dostupnosť, sloty a SQL scopy."
url: https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

Open source

# Opening Hours for Laravel

Inštalácia

`composer require roundly-consulting/opening-hours-for-laravel`

Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

[GitHub](https://github.com/roundly-consulting/opening-hours-for-laravel) [Packagist](https://packagist.org/packages/roundly-consulting/opening-hours-for-laravel) [Prispieť (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Patreon](https://www.patreon.com/cw/roundly)

## Prehľad

Natívny engine otváracích hodín pre Laravel. Priraďte akémukoľvek Eloquent modelu jeden alebo viac pomenovaných kalendárov — týždenné hodiny s obedňajšou prestávkou aj rozsahmi cez polnoc, sezónne rozvrhy, jednorazové a každoročné výnimky, sviatky viazané na Veľkú noc — a cez jednu fasádu OpeningHours sa pýtajte na čokoľvek: je otvorené teraz, kedy sa otvára, aké sú hodiny v daný deň, zoskupený týždeň, dáta pre schema.org. Odpovedá správne aj pri zmene času podľa jedného explicitného pravidla a z tých istých hodín vytvorí kontroly dostupnosti a rezervovateľné sloty napájané z ľubovoľného zdroja obsadenosti. Licencia MIT, postavené len na Laraveli a vlastných základných balíkoch Roundly — bez závislostí tretích strán.

### Čo získate

#### Týždenné hodiny z praxe

Viac rozsahov za deň, rozsahy cez polnoc (22:00-02:00), nonstop aj zatvorené dni — a viac pomenovaných kalendárov na vlastníka.

#### Sezóny, výnimky a sviatky

Sezónne rozvrhy s prioritami, výnimky pre dátumy, obdobia a každoročné sviatky zapisované bezpečne pri súbežnosti a pohyblivé sviatky viazané na Veľkú noc či vlastné pravidlo.

#### Fasáda, DI alebo akcie

Jedna fasáda OpeningHours, injektovateľný manažér alebo jednoúčelové akcie — a OpeningHours::fake() zaznamená každý zápis bez zásahu do databázy.

#### Kompletné dotazovacie API

isOpenAt, nextOpen, nextClose, forDate, forWeek, dĺžka otvorenia a štruktúrované dáta pre schema.org.

#### Jedno explicitné pravidlo pre DST

Každá hranica sa vyhodnotí rovnako v každom pásme — overené brute-force orákulom na skutočných zmenách času.

#### Dostupnosť a sloty

Kapacita, časové rezervy, minimálny predstih a horizont, napájané z ľubovoľného zdroja obsadenosti — bez rezervačného balíka.

#### Pripravené do produkcie

Validačné pravidlo, fluentný builder s optimistickou súbežnosťou, cache podľa revízie, udalosti, API zdroje a voliteľné SQL scopy.

### Dokumentácia

#### [Inštalácia](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/instalacia.md)

Inštalácia cez Composer, publikovanie a spustenie šiestich migrácií a voliteľne publikovanie konfigurácie a prekladov en/sk.

#### [Konfigurácia](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/konfiguracia.md)

Každý konfiguračný kľúč s predvolenou hodnotou a env premennou — časové pásma, hľadanie, limity, cache, API, čistenie a materializácia.

#### [Vlastníci a kalendáre](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/vlastnici-a-kalendare.md)

Z akéhokoľvek Eloquent modelu urobíte vlastníka traitom HasOpeningHours, pridáte mu viac pomenovaných kalendárov a nastavíte časové pásmo.

#### [Fasáda OpeningHours](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/fasada.md)

Každý zápis aj čítanie cez jednu fasádu — sync, edit, exceptions(), delete(force:), refresh, validate — a dotazovací objekt, ktorý vracia.

#### [DI a akcie](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/bez-fasady.md)

Namiesto fasády injektujte OpeningHoursManager alebo zavolajte akciu priamo — mapa fasáda → akcia a čo fake vidí a čo nie.

#### [Definovanie otváracích hodín](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/definovanie-hodin.md)

Uložte hodiny z poľa — týždenné rozsahy, sezónne rozvrhy a výnimky — v rovnakom kanonickom tvare, aký prijíma validačné pravidlo.

#### [Fluentný builder a súbežnosť](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/fluentny-builder.md)

Upravujte hodiny cez CalendarBuilder a ScheduleBuilder, chráňte súbežné úpravy revíziami a skladajte kalendáre v pamäti.

#### [Dotazovanie otváracích hodín](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/dotazovanie.md)

Zistite, či má vlastník v danom okamihu otvorené, nájdite najbližšie otvorenie či zatvorenie a vráťte odpovede v ľubovoľnom pásme.

#### [Dni, týždne a štruktúrované dáta](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/dni-a-tyzdne.md)

Načítajte hodiny pre ľubovoľný dátum či deň, vykreslite zoskupené týždne s enumom Weekday a prekladmi a publikujte hodiny pre schema.org.

#### [Intervaly a trvanie](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/intervaly-a-trvanie.md)

Vypíšte obdobia otvorenia medzi dvoma okamihmi, overte celé intervaly a zmerajte čas otvorenia či zatvorenia v reálnych sekundách.

#### [Výnimky a sviatky](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/vynimky-a-sviatky.md)

Zatvorte alebo zmeňte hodiny pre dátumy, obdobia a každoročné sviatky, pridajte sviatky viazané na Veľkú noc aj vlastné pravidlá.

#### [Validácia a HTTP vstup](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/validacia.md)

Validujte vstup otváracích hodín pravidlom ValidOpeningHours, dostaňte každý problém pod jeho vnoreným kľúčom a validujte aj v kóde.

#### [Dostupnosť a sloty](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/dostupnost-a-sloty.md)

Overte, či sa dá termín rezervovať, a vypíšte voľné sloty — s kapacitou, časovými rezervami, predstihom a horizontom z akéhokoľvek zdroja.

#### [Poskytovatelia obsadenosti](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/obsadene-obdobia.md)

Napájajte dostupnosť z Eloquent dotazov, polí, closures alebo vlastného poskytovateľa — bez väzby na akýkoľvek rezervačný balík.

#### [API zdroje](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/api-zdroje.md)

Hotové JSON resources pre aktuálny stav, upraviteľné definície, hodiny dňa a sloty — routy a controllery ostávajú na vás.

#### [Cache a eager loading](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/cache.md)

Cache definícií podľa revízie bez potreby invalidácie, memo v rámci requestu a zoznamy bez N+1 dotazov.

#### [Udalosti](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/udalosti.md)

Reagujte na zmenu alebo odstránenie hodín vlastníka — obe udalosti sa odosielajú po commite so skalárnymi dátami bezpečnými pre fronty.

#### [SQL scopy](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/sql-scopy.md)

Filtrujte vlastníkov, ktorí majú otvorené teraz alebo počas celého intervalu, priamo v SQL cez voliteľné materializované intervaly.

#### [Artisan príkazy](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/prikazy.md)

Pozrite si hodiny ľubovoľného vlastníka v termináli, premažte staré výnimky a zmazané riadky a obnovte materializované intervaly.

#### [Import týždenných polí](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/import-tyzdennych-poli.md)

Importujte hodiny uložené v rozšírenom formáte polí podľa dní, s popismi a výnimkami — ako import dát, nie prepis kódu.

#### [Časové pásma a DST](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/casove-pasma-a-dst.md)

Ako sa určuje časové pásmo kalendára, ako vrátiť odpovede v ľubovoľnom pásme a jedno explicitné pravidlo pre zmenu času.

#### [Rozširovanie](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/rozsirovanie.md)

Nahraďte modely vlastnými podtriedami, napojte časové pásmo a dynamické výnimky vlastníka a pripojte vlastných poskytovateľov.

#### [Ošetrenie chýb](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/osetrenie-chyb.md)

Všetky výnimky balíka dedia z jednej základnej triedy — zachyťte ich naraz alebo ošetrite zastarané zápisy a príliš veľké dotazy zvlášť.

#### [Bezpečnosť](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/bezpecnost.md)

Čo balík stráži za vás — cudzie id, skryté meta, viazané stĺpce, limity veľkosti — a čo ostáva vo vašej zodpovednosti.

#### [Testovanie](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/testovanie.md)

Zaznamenajte každý zápis cez OpeningHours::fake() a overte sync, výnimky, mazanie aj refresh — alebo zmrazte čas a testujte nad skutočnými riadkami.

#### [Požiadavky](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/poziadavky.md)

PHP 8.4+, Laravel 12 alebo 13 a SQLite, PostgreSQL či MySQL — bez PHP rozšírení a bez knižníc tretích strán.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source.md)
