Model danych
Przegląd
W Syrve Loyalty możesz tworzyć i używać szablonów Razor:
- do drukowania paragonów, rachunków gości i faktur dostaw
- do wysyłania wiadomości tekstowych
- do wyświetlania wezwania w Syrve POS
Aby stworzyć taki szablon, musisz nie tylko znać składnię Razor, ale także wiedzieć, które dane mogą być drukowane na paragonach, wysyłane w SMS-ach i wyświetlane w wezwaniach. Ten artykuł omawia model takich danych.
Model bazowy jest rdzeniem takich danych i jest dostępny na paragonach, w SMS-ach oraz wezwaniach niezależnie od używanych akcji.
Oprócz modelu bazowego każda akcja ma własny zestaw właściwości, które można wykorzystać do skonfigurowania szablonu paragonu, SMS-a lub wezwania.
Listę właściwości, które można użyć w szablonach Razor dla konkretnej akcji, znajdziesz w ustawieniach akcji. Wystarczy kliknąć Pobierz pola modelu.
Model bazowy
Właściwości modelu bazowego są dostępne wszędzie: na paragonach, w SMS-ach oraz we wszystkich akcjach, gdzie można użyć szablonu Razor.
Nazwa | Typ danych | Opis |
Właściwości | ||
Store | Store | Dane firmy. |
Guest | Guest | Dane gościa (opcjonalne). |
Certificate | Certificate | Dane karty podarunkowej (opcjonalne). |
Order | Order | Dane zamówienia. W przypadku akcji Wyślij SMS do klienta, jeśli jest używana w akcjach okresowych, ta właściwość jest niedostępna. |
Metody | ||
Counter(CounterMetric, CounterPeriod) | string | Pobierz wartość metryki klienta wskazującą walutę. |
NumericCounter(CounterMetric, CounterPeriod) | decimal | Pobierz wartość metryki klienta. |
Dostępne właściwości
W akcjach, oprócz modelu bazowego, możesz używać właściwości specyficznych dla danej akcji.
Akcja | Właściwość | Typ danych | Opis |
Doładuj konto o % wartości zamówienia Modele: RefillWalletPercentActionCheque Doładuj konto o kwotę Modele: AdditionalBonusFixedSumActionCheque | BalanceAfter | decimal | Saldo konta po doładowaniu |
BalanceAfterWithCurrency | string | Saldo konta po doładowaniu wraz z oznaczeniem waluty | |
BalanceBefore | decimal | Saldo konta przed doładowaniem | |
BalanceBeforeWithCurrency | string | Saldo konta przed doładowaniem wraz z oznaczeniem waluty | |
ChequeGenerationMode | ChequeGenerationMode | Tryb generowania tekstu Używany tylko na paragonach | |
Delivery | Delivery | Dostawa (opcjonalne) | |
Percent | decimal | Ile punktów procentowych zostało zaksięgowanych Dostępne tylko w akcji Doładuj konto o % wartości zamówienia | |
Sum | decimal | Kwota do zaksięgowania | |
SumWithCurrency | string | Saldo konta wraz z oznaczeniem waluty | |
Wallet | Wallet | Konto płatnicze (opcjonalne) | |
Płatność z konta Modele: PaymentActionCheque | BalanceAfterPaymentWithCurrency | string | Saldo konta po płatności wraz z oznaczeniem waluty |
BalanceWithCurrency | string | Saldo konta wraz z oznaczeniem waluty | |
ChequeGenerationMode | ChequeGenerationMode | Tryb generowania tekstu Używany tylko na paragonach | |
Delivery | Delivery | Dostawa (opcjonalne) | |
PayFromWalletOperation | PayFromWalletOperation | Informacje o transakcji płatniczej. | |
PaymentSumWithCurrency | string | Kwota płatności z konta | |
Wallet | Wallet | Konto płatnicze | |
Drukuj informacje na rachunku/paragonie/fakturze dostawy PrintChequeActionCheque | ChequeGenerationMode | ChequeGenerationMode | Tryb generowania tekstu paragonu |
Delivery | Delivery | Dostawa (opcjonalne) | |
Wyślij SMS SmsActionRazorModel | Dostępne są tylko właściwości podstawowego modelu W akcjach okresowych właściwość Order nie jest dostępna. | ||
Podpowiedź UpsellingTipSuggestion | Delivery | Delivery | Dostawa (opcjonalne) |
Opis typów danych
Tabela zawiera szczegółowy opis typów danych oraz ich właściwości.
Klasa | Właściwości | Typ danych | Opis |
AuthType | Metoda uwierzytelniania gościa (enum) | ||
None = 0 | Brak | ||
CardTrack = 1 | Według ścieżki karty | ||
CardNumber = 2 | Według numeru karty | ||
Phone = 3 | Według numeru telefonu | ||
FindFaceId = 4 | Według FindFaceId (nieużywane) | ||
Certificate = 5 | Według numeru karty podarunkowej | ||
Email = 6 | Według e-maila | ||
ChequeGenerationMode | Tryb generowania tekstu paragonu (enum) | ||
Bill = 1 | Generuj tekst rachunku gościa | ||
CashRegister = 2 | Generuj tekst paragonu kasowego | ||
DeliveryBill = 3 | Generuj tekst faktury dostawy | ||
Certificate | Szczegóły karty podarunkowej | ||
Number | string | Numer karty podarunkowej | |
ComboItemInformation | Szczegóły zestawu | ||
ComboId | Guid | ID zestawu (po stronie klienta) | |
SourceId | Guid | SourceId elementu zestawu | |
GroupId | Guid | ID grupy elementu zestawu | |
CounterMetric | Typ metryki (enum) | ||
OrdersSum = 1 | Suma zamówień | ||
OrdersCount = 2 | Liczba zamówień | ||
PayFromWallet = 3 | Kwota płatności z konta | ||
CounterPeriod | Okres (enum) | ||
AllTime = 0 | Za cały czas | ||
Day = 1 | 1 dzień | ||
Week = 2 | 7 dni | ||
Month = 3 | 30 dni | ||
Quarter = 4 | 90 dni | ||
Year = 5 | 365 dni | ||
WeekBegin = 6 | Od 1. dnia bieżącego tygodnia | ||
MonthBegin = 7 | Od 1. dnia bieżącego miesiąca | ||
Delivery | Dostawa | ||
DeliveryDate | DateTimeOffset | Data dostawy | |
DeliveryType | DeliveryType | Typ usługi (enum):
| |
MarketingSource | string | Źródło marketingowe (reklama) | |
SourceKey | string | Źródło dostawy | |
City | string | Miasto | |
Street | string | Ulica. | |
Region | string | Dzielnica. | |
Guest | Gość | ||
Name | string | Imię | |
LastName | string | Nazwisko | |
Sex | Sex | Płeć | |
Birthday | DateTime? | Data urodzenia | |
Categories | IList<GuestCategory> | Lista kategorii. | |
UserWallets | IList<UserWallet> | Lista kont gościa. | |
MagnetCards | IList<MagnetCard> | Lista powiązanych kart. | |
MagnetCard | Szczegóły karty gościa | ||
Track | string | Ścieżka karty magnetycznej | |
Number | string | Numer karty magnetycznej | |
Order | Zamówienie | ||
Items | IList<OrderItem> | Lista pozycji. | |
OpenTime | DateTimeOffset | Czas utworzenia zamówienia | |
CloseTime | DateTimeOffset | Czas zamknięcia zamówienia | |
SumAfterDiscount | decimal | Kwota zamówienia po rabatach i dopłatach | |
AuthType | AuthType | Metoda uwierzytelniania klienta | |
AuthCredential | string | Metoda uwierzytelniania: numer telefonu, numer karty, numer karty podarunkowej itp. | |
GetAuthInfo() | string | Drukuj szczegóły metody uwierzytelniania klienta na paragonie | |
OrderItem | Pozycja zamówienia | ||
Id | Guid | ID pozycji zamówienia | |
ParentId | Guid | ID komponentu nadrzędnego w drzewie pozycji zamówienia. Możliwe, że używany jest inny ID pozycji zamówienia w przypadku modyfikatorów oraz ID złożonego posiłku w przypadku połówek | |
ComboInformation | ComboInformation | Szczegóły zestawu Nieobowiązkowe | |
ProductCode | string | Kod pozycji (SKU) | |
ProductName | string | Nazwa pozycji. | |
ProductCategory | string | Kategoria pozycji. | |
Size | string | Rozmiar pozycji | |
Amount | decimal | Ilość pozycji zamówienia | |
SumAfterDiscount | decimal | Cena pozycji po rabatach Syrve Office | |
Comment | string | Komentarz do pozycji | |
Type | OrderItemType | Typ pozycji zamówienia | |
OrderItemType | Typ pozycji zamówienia (enum) | ||
ProductItem | Prosta pozycja zamówienia | ||
CompoundComponent | Część zestawu posiłku | ||
Modifier | Modyfikator | ||
CommonModifier | Wspólny modyfikator pozycji składającej się z kilku części | ||
Store | Sklep | ||
Name | string | Nazwa | |
Currency | ICurrency | Waluta. | |
PayFromWalletOperation | Transakcja płatności z konta | ||
Wallet | Wallet | Konto. | |
UserWalletId | Guid | ID konta klienta | |
DayLimit | decimal | Limit dzienny | |
WeekLimit | decimal | Limit tygodniowy | |
MonthLimit | decimal | Limit miesięczny | |
AllowMinusBalance | bool | Czy dozwolone jest debetowanie | |
RealBalance | decimal | Saldo konta | |
PaymentLimit | PaymentLimit | Maksymalna kwota płatności dla akcji płatności:
| |
IsOffline | bool | Czy płatność została dokonana offline | |
ProgramType | Typ programu (enum) | ||
Money = 0 | Program pieniężny | ||
Bonus = 1 | Program nagród | ||
Product = 2 | Program żywnościowy | ||
Discount = 3 | Rabaty, Prezenty, Zestawy | ||
Certificate = 4 | Program kart podarunkowych | ||
Sex | Płeć (enum) | ||
NotSpecified | Nie określono | ||
Male | Mężczyzna | ||
Female | Kobieta | ||
UserWallet | Szczegóły konta klienta | ||
Id | Guid | ID konta klienta | |
Wallet | Wallet | Szczegóły konta | |
Balance | decimal | Saldo konta | |
Wallet | Szczegóły konta | ||
Name | string | Nazwa | |
IsInteger | bool | Atrybut całkowity | |
IsActive | bool | Czy program jest aktywny | |
ProgramType | ProgramType | Typ programu |
Abstrakcyjna klasa bazowa dla wszystkich głównych modeli szablonów, które będą używane do generowania paragonów, to TemplateBase. Klasa zawiera funkcje do standardowego formatowania danych. Każdy szablon jest niejawnie dziedziczony z klasy TemplateBase i zapewnia dostęp do metod formatowania.
Funkcja | Opis | |
Metoda | string FormatAmount(decimal amount) | Format ilości |
string FormatMoney(decimal price, ICurrency currency) | Format ceny to „123,45”. | |
string FormatMoneyMin(decimal price, ICurrency currency) | Format ceny to „123,45” lub „123”, jeśli wartość jest całkowita. | |
string FormatPercent(decimal percent) | Format procentowy. | |
Format czasu | string FormatTime(DateTime time) | HH:mm |
string FormatLongTime(DateTime time) | HH:mm:ss | |
string FormatLongDateTime(DateTime dateTime) | dd.MM.yyyy HH:mm | |
string FormatFullDateTime(DateTime dateTime) | d MMM HH:mm | |
string FormatDate(DateTime dateTime) | dd.MM.yyyy | |
string FormatDateTimeCustom(DateTime dateTime, string format) | Dowolny format. | |
Pozyskiwanie metryk | string Counter(CounterMetric metric, CounterPeriod period) | Pobiera metryki określonego typu na wskazany okres w formie łańcucha znaków. Jeśli gość nie jest zalogowany lub okres jest niedostępny dla metryk, metoda zwraca pusty łańcuch. Przykład użycia: @Model.Counter(CounterMetric.OrdersSum, CounterPeriod.Month) @Model.Counter(CounterMetric.OrdersCount, CounterPeriod.AllTime) Dostępny jest tylko okres „Na cały czas” dla metryk „Liczba zamówień” . |
decimal NumericCounter(CounterMetric metric, CounterPeriod period) | Pobiera metryki określonego typu na wskazany okres w formie liczbowej. Jeśli gość nie jest zalogowany lub okres jest niedostępny dla metryk, metoda zwraca pusty łańcuch. Przykład użycia: @Model.NumericCounter(CounterMetric.OrdersSum, CounterPeriod.Month) @Model.NumericCounter(CounterMetric.OrdersCount, CounterPeriod.AllTime) Dostępny jest tylko okres „Na cały czas” dla metryk „Liczba zamówień”. |
Formatowanie tekstu
W szablonach paragonów i promptów można używać języka znaczników do formatowania tekstu.
Aby tekst był poprawnie wyświetlany, należy otoczyć tekst specjalnymi znakami:
- zamiast < ‒ <
- zamiast > ‒ >
Przykład:
<center>Nagrody</center>