Editor šablon zpráv
Pokud vám nevyhovuje obsah e-mailových a SMS zpráv, které posílá Reservanto, můžete si je sami změnit pomocí Editoru šablon zpráv. Ten umí nejenom změnit text, ale zvládá toho mnohem více včetně vkládání „živých“ dat, tvoření podmínek či formátování.
Jak to funguje?
V části Nastavení klikněte v levém menu na položku Editor šablon zpráv. Po rozbalení odkazů „E-mail“ či „SMS“ se zobrazí seznam všech standardních šablon, které Reservanto umožňuje odesílat.
Reservanto skládá e-mailové zprávy z více druhů šablon:
- Grafická šablona …určuje grafickou podobu všech zpráv. Zpravidla nastavuje typ písma, barvy, a grafickou podobu kolem obsahu zprávy.
- E-mailová šablona … hlavní šablona obsahující vlastní text zprávy.
- Vnořená šablona … typicky se jedná o krátkou část zprávy, která se opakuje ve více e-mailech nebo vícekrát v jednom e-mailu. Např. informace o možnosti zrušení rezervace nebo údaje o lekci kurzu vypsané N-krát pod sebou pro každou lekci vybraného kurzu.
U SMS zpráv je to podobné, jen neobsahují grafickou šablonu.
Editor
Šablonu můžete upravovat v jednoduchém textovém editoru včetně formátování, zarovnávání či odsazení textu. Chcete-li, můžete využít všech možností HTML e-mailů a šablonu upravit přímo v HTML (v menu zvolte položku Zdrojový kód).
Editor vám navíc umožní vkládat do obsahu zprávy „živá“ data, podmínky, formátování apod. Více v části Skriptovací jazyk.
Skriptovací jazyk
Občas je potřeba zobrazit text jen v případě splnění podmínky (např. text „Vezměte si s sebou ručník!“ jen v případě, že zákazník rezervuje službu „Potíme se k Klárou“) popř. vložit údaje o rezervaci, zákazníkovi apod. K tomu můžete využít speciální značky, které mohou ovlivnit výslednou podobu zprávy.
Pokud napíšete „{{“ (dvě složené závorky), editor vám automaticky nabídne možné názvy značek.
Hodnoty
Dostupnost konkrétních hodnot se liší podle typu šablony.
Zde jsou ukázky některých hodnot:
- customer
- FullName
- Phone
- HasPhone
- AddressFormated
- merchant
- Name
- booking
- AppointmentId
- Appointment
- StartsAt
- EndsAt
- BookingResource
- Name
- Description
- ContactPhone
- ContactEmail
- IsInternal
- Location
- Name
- ContactPhone
- Adress
- Name
- Street
- City
- Capacity
- OccupiedCapacity
- Customer
- …
- Service
- …
- PriceWithVat
Příklad použití:
{{booking.Customer.FullName}}
{{address}}
{{booking.PriceWithVat}}
Hodnoty “default”
Některé časté hodnoty jsou navíc dostupné pod hodnotou „default“.
Příklad:
{{default.RESOURCENAME}} ... vloží název zdroje
{{default.STARTDATE}} ... vloží termín rezervace
{{default.CANCELATIONDATE}} ... vloží vnořenou šablonu „CancelationDate“, tedy informace o možném zrušení rezervace.
{{default.JOININFO}} ... vloží tlačítko pro připojení se k případné online schůzce (vnořená šablona „OnlineMeetingJoinInfo“)
#crop
Značka #crop se používá převážně v SMS šablonách. Ořezává danou hodnotu na daný maximální počet znaků. Pokud je ovšem v šabloně #crop značek více, přelévají se mezi sebou. Lépe to lze pochopit z následujícího příkladu:
{{#crop service.Name 20}} a {{#crop customer.FullName 20}}
Dohromady mohou obsadit max. 40 znaků, ale pokud bude jméno zákazníka dlouhé 30 znaků a název služby jen 10, jméno zákazníka se díky krátkému názvu služby zobrazí celé (30+10 = 40).
#asprice
Zobrazí částku formátovanou jako cenu, tzn. na správný počet míst se správnou měnou.
Příklad:
Cena: {{#asprice booking.PriceWithVat}}
#bycount
Umožňuje skloňovat slova podle počtu. Texty se píší do apostrofů.
Příklad:
{{#bycount customerAge ‘rok’ ‘roky’ ‘let’}}
Vaše {{#bycount booking.Count 'místo bude připraveno' 'místa budou připravena'}}
Formátování datumu
Chcete-li zobrazit datum v konkrétním formátu, doplňte za údaj typu datum popis formátu oddělený dvojtečkou. Příklad zápisu:
{{booking.Appointment.MaxCancellationTimeForCustomer:d'. 'M'. 'yyyy' 'H':'mm}}
Možné formátovací znaky:
- d … číslo dne (např. 2)
- dd … číslo dne vyjádřené pomocí dvou číslovek (např. 02)
- M … číslo měsíce (1-12)
- MM … číslo měsíce vyjádřené pomocí dvou číslovek
- MMM … název měsíce vyjádřené zkratkou (např. „srp“)
- MMMM … název měsíce ve vhodném tvaru (např. „srpna“)
- yy … poslední 2 číslovky z roku (např. 21)
- yyyy … rok (např. 2021)
- H … hodiny
- HH … hodiny vyjádřené pomocí dvou číslovek (např. 02)
- mm … minuty vyjádřené pomocí dvou číslovek
- m … minuty
- ’text’ … vložený text
Podmínky
#if, #else
Zobrazí část zprávy jen v případě splnění nebo nesplnění podmínky. #if je párová značka, proto je potřeba ji na konci uzavřít pomocí {{/if}}.
Příklad jednoduché podmínky („pokud se hodnota PriceWithVat nerovná nule“):
{{#if booking.PriceWithVat}}
Cena je nenulová.
{{/if}}
Příklad podmínky včetně značky #else (“pokud je hodnota CanBeCancelledByCustomer nastavena na Ano, pak …, jinak …”):
{{#if booking.CanBeCancelledByCustomer}}
Rezervaci lze stornovat do: {{booking.Appointment.MaxCancellationTimeForCustomer:d'. 'M'. 'yyyy' 'H':'mm}}
{{#else}}
Rezervaci nelze stornovat
{{/if}}
#ifnot
Podmínka vyhodnocující, zda se zadané hodnoty nerovnají. #ifnot je párová značka, proto je potřeba ji na konci uzavřít pomocí {{/ifnot}}.
Příklad:
Tuto rezervaci {{#ifnot booking.PriceWithVat}}není třeba platit{{#else}}bude třeba zaplatit{{/ifnot}}.
#ifcontains
Podmínka, jestli hodnota obsahuje text (hodnoty se porovnávají vždy převedené na malá písmena).
Příklad:
Děláte rezervaci na {{#ifcontains booking.Service.Name 'kurz'}}nějaký kurz {{#else}}obyčejnou službu{{/ifcontains}}.
#ifnotcontains
Podmínka, jestli hodnota NEobsahuje text (hodnoty se porovnávají vždy převedené na malá písmena).
Příklad:
Děláte rezervaci na {{#ifnotcontains booking.Service.Name 'Služba'}}cokoliv jiného{{#else}}naší obyčejnou službu{{/ifnotcontains}}.
Vlastní údaje
Vlastní údaje se dají získat pomocí značky #from, kde jako identifikátor použijete název vlastního pole.
Příklad:
Velikost trička: {{#from bookingCustomFields 'Velikost trička'}}
Velikost kalhot: {{#from bookingCustomFields 'Velikost kalhot'}}
Použití vlastního údaje v podmínce
Příklad:
{{#usingfrom bookingCustomFields 'Velikost bot' 'shoesize'}}
{{#ifequal shoesize 44}}
{{customer.FirstName}} má ale velkou nohu!
{{/ifequal}}
{{/usingfrom}}