Przejdź do głównej zawartości

Czasy cut-off

Cut-off time to deadline, po którym zamówienie złożone dziś liczy się jako jutrzejsze. To najbardziej obserwowana liczba w widgecie — żywy zegar odlicza do niej na każdej karcie produktu.

Pojęciowo, plugin’owe “dziś” dla matematyki wysyłki to nie to samo co dziś zegara ściennego:

if teraz <= cutoff_today AND today is dniem roboczym AND today nie jest świętem
effective_today = today
else
effective_today = następny dzień roboczy który nie jest świętem

Minimalna data wysyłki to wtedy effective_today + shippingMinDays, a reszta dat idzie za tym.

W karcie Settings → Cutoff time:

  • General cutoff time (cutoffTime) — domyślny cut-off używany, gdy nie ma cut-offu dla danego dnia tygodnia.
  • Monday … Sunday cutoff time — nadpisania dla pojedynczych dni. Zostaw puste żeby dziedziczyć general.

Jeśli ustawisz cut-off piątku na 12:00, a general na 15:00:

  • Pon–Czw — zamówienia wyjeżdżają dziś, jeśli złożone przed 15:00.
  • Piątek — zamówienia wyjeżdżają dziś tylko jeśli złożone przed 12:00 (kurier zabiera wcześniej w piątek).
  • Sob/Niedz — zwykle dziedziczą general 15:00, ale ponieważ reguła dni roboczych zwykle wyklucza weekend, zamówienie i tak się przesuwa.

Widget pokazuje pozostały czas do cut-off w jednym z dwóch formatów:

cutoffTimeFormatRenderuje jako
%hours% %transHours% %minutes% %transMinutes% %seconds% %transSeconds%02 godziny 14 minut 32 sekundy
%hours% %transHours% %minutes% %transMinutes%02 godziny 14 minut

Etykiety jednostek (%transHours%, %transMinutes%, %transSeconds%) pochodzą z zakładki Translation i odmieniają się automatycznie (hour vs hours itd.). By wymusić pogrubienie liczb lub etykiet, użyj przełączników Bold numbers i Bold texts w tej samej karcie.

Dwie opcje:

  1. Zostaw cut-off tego dnia tygodnia pusty — plugin traktuje jako “brak cut-off” i reguła dni roboczych decyduje, co się stanie. Jeśli ten dzień jest też nieobecny w regule dni roboczych, zamówienie przesuwa się na następny dzień roboczy.
  2. Ustaw cut-off na 00:00 — ten sam efekt: żadne zamówienie w ciągu dnia nie wyprzedzi cut-offu, więc wszystko się przesuwa.

Obie metody działają — opcja (1) jest czystsza, bo nie wymaga fikcyjnej wartości.

Cut-off zawsze stosuje się do dnia zegara ściennego, nie do efektywnego dnia wysyłki. Jeśli dziś jest poniedziałek, ale poniedziałek to święto, cut-off poniedziałkowy jest całkowicie ignorowany — plugin już wie, że dziś nic nie wyjeżdża, i przesuwa.

Zegar czyta cut-off na trzy sposoby:

  • Przed dzisiejszym cut-offem → odlicza do dzisiejszego cut-offu, pokazuje “dziś” jako etykietę dispatch.
  • Po dzisiejszym cut-offie (ale dzień nadal roboczy) → odlicza do następnego cut-offu dnia roboczego.
  • W dniu nieroboczym → to samo co wyżej.

Jeśli następny dzień roboczy jest dalej niż jeden dzień (np. zamówienie w sobotę na poniedziałek), zegar używa alternatywnego snippetu clockOrderInTheNextWithDays, który zawiera licznik dni (“Zamów w ciągu 1 dnia i …”).

Wybierz kilka scenariuszy i zapisz je — przetestuj po każdej zmianie reguły dni roboczych lub świąt:

ScenariuszOczekiwana wysyłka
Pon 09:00, cut-off 15:00, brak świętaDziś
Pon 16:00, cut-off 15:00, brak świętaJutro
Pt 16:00, cut-off 15:00, Pon to świętoNastępny Wt
Sob dowolna godzina, cut-off 15:00, Pon roboczyPoniedziałek

Preview w zakładce Widget jest szybki — zmień godzinę na dev maszynie, zapisz, odśwież.