Rezervace na prodejně

Rezervace na prodejně

Rozšíření, které umožňuje zákazníkům rezervovat produkty na prodejně. Rezervace je možné vytvářet a spravovat v administraci e-shopu, případně přes rest API.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <inStoreReservation>2    <numberExpression>'E' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</numberExpression>3    <expiration>1y</expiration>4    <notifyBeforeExpiration>7d</notifyBeforeExpiration>5    <stateThatReleasesReservation>processing</stateThatReleasesReservation>6    <catalogSpecific>7        <catalogCode/>8        <numberExpression>'E' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</numberExpression>9        <expiration>1y</expiration>10        <notifyBeforeExpiration>7d</notifyBeforeExpiration>11        <stateThatReleasesReservation>processing</stateThatReleasesReservation>12    </catalogSpecific>13</inStoreReservation>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciinStoreReservation

Povolení a konfigurace rezervací na prodejně.

Pokud není uvedeno, rezervace na prodejně není povolena.

Pokud je povoleno, pro sklady je možné nastavit, zda je rezervace na prodejně povolena a případně doplnit související informace, jako je adresa prodejny pro vyzvednutí zboží, otevírací doba prodejny, atd.

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
numberExpression

Výraz (SPeL), který definuje, jakým způsobem bude generováno číslo rezervace.

Rezervační systém je povolen pouze v případě, že je tato hodnota specifikovaná. Tedy pokud je tato hodnota specifikována pouze pro některé katalogy, tak rezervační systém bude aktivní pouze pro tyto katalogy.

Dostupné parametry ve SPeLu jsou:

  • data - objekt rezervace ()
  • dateFormat(String format) - metoda, která převede aktuální datum na string dle vstupního formátu
  • dateFormat(LocalDateTime date, String format) - metoda, která převede datum na vstupu na string dle vstupního formátu
  • numberSeq(String sequenceId, Int length) - metoda, která vrátí další číslo z číselné řady, který je určena parametrem 'sequenceId'. Parameter length určuje délku v řetezce výstupního řetezce, kdy číslo bude doplněno 0.
  • random(Int length) - metoda, která vrátí náhodné číslo. Parameter length určuje délku v řetězce výstupního řetězce.

Například výraz "'E' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)" vygeneruje kód (pro rok 2022) "E2022-0001", "E2022-0002" atd.

String

-

-

expiration

Časový interval, po kterém se rezervace automaticky uvolní.

Pokud je null, tak se rezervace nikdy neuvolní automaticky.

Časový interval se počítá od data, kdy byla rezervace připravena k vyzvednutí.

TimeInterval

-

-

notifyBeforeExpiration

Časový interval, ve kterém se mají odeslat upozornění na vypršení platnosti rezervace.

Pokud je null, tak se upozornění na vypršení platnosti rezervace neodesílají.

Časový interval se počítá od data, kdy byla rezervace připravena k vyzvednutí.

TimeInterval

-

-

stateThatReleasesReservation

Stav, který uvolní rezervaci.

Pokud je rezervace v tomto stavu, tak je možné uvolnit rezervaci.

Pokud je null nebo stav neexistuje, tak se rezervace neuvolní automaticky při změně stavu rezervace.

String

-

processing

catalogSpecific

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

-

-

Zkopírovat odkaz na sekciE-mail notifikace

Pro rezervace je možné zapnout mailové notifikace. Tyto notifikace se zapínají pomocí elementu <mailing> v rámci konfigurace rezervací (<inStoreReservation/>). Další nastavení mailingu je popsáno zde.

Příklad:

xml
1 <inStoreReservation>2    <mailing/>3</inStoreReservation>

V základu jsou připraveny následující notifikace:

  • vytvoření rezervace,
  • zrušení rezervace,
  • informace, že rezervace je připravena k vyzvednutí,
  • připomenutí, že je rezervace připravena k vyzvednutí.

Tyto výchozí notifikaci vyžadují registraci lokalizačního balíčku do mail-modulu.

Konkrétně je nutné přidat do souboru config/module-edeeshop/include/module-mail-localization.xml následující záznam:

xml
1 <?xml version="1.0" encoding="utf-8"?>2<!DOCTYPE sitemap SYSTEM "cps.dtd">3<sitemap>4    <bundle>classpath:/META-INF/lib_eshop_reservation/mail/mail-reservation</bundle>5    <!-- other bundles -->6</sitemap>

Zkopírovat odkaz na sekciWorkflow rezervací

Stavy rezervací jsou řízeny pomocí workflow. Pro standardní rezervace je připraveno výchozí workflow, není tedy nutné nic konfigurovat.

V případě potřeby změny je možné změnit konfiguraci workflow pomocí vlastnosti reservation.workflow.config. Výchozí definice workflow je definováno v souboru META-INF/lib_eshop_reservation/workflow/reservationStateWorkflow.xml.

Pomocí reservation.workflow.definitionId je zase možné definovat, které konkrétní workflow z konfigurace se má použít. Výchozí hodnota je "defaultReservationFlow".