cudi.└── Kasa
└── cudi
├── css
| ├── bootstrap-5.3.7.min.css
| ├── cudi.css
| └── cudi-tip.css
├── images
| ├── 001.jpg
| ├── 002.jpg
| ├── 003.jpg
| ├── 004.jpg
| ├── 005.jpg
| ├── app_icon.png
| └── asseco_a_256.png
├── js
| ├── cudi.js
| ├── cudi_config.js.template
| └── jquery-3.7.1.min.js
├── cudi.html
├── cudi_conditions.js
├── promo01_example.json
└── promo02_example.json
V prvom rade je potrebne zapnut CUDI v konfiguracnom subore kasa.conf.
<entry key="cudi.listener.port">9900</entry>
<entry key="cudi.use">true</entry>
Kasa pri starte, pokial je CUDI zapnuty nastartuje websocket, cez ktory bude pocuvat poziadavky zo strany CUDI klienta.
Potom je potrebne premenovat/vytvorit kopiu vzoru konfiguracneho suboru CUDI cudi_config.js.template na cudi_config.js.
Priklad konfiguracneho suboru CUDI.
// CUDI configuration.
// This file contains configuration settings for the CUDI extension.
var cudi_config = {
CUDI_HOST: "127.0.0.1", // Host for CUDI WebSocket, cashdesk is server
CUDI_PORT: 9900, // Port for CUDI WebSocket, cashdesk is server
DEFAULT_IDLE: 60, // Default idle time in seconds, if 0 then idle is disabled
TIPS_IDLE: 60, // Default idle time for tips in seconds, if 0 then idle is disabled
TIPS: [
{
value: 3, // 3% tip
type: "PERCENTAGE", // Possible choices PERCENTAGE or ABSOLUTE or CANCELATION
},
{
value: 5, // 5% tip
type: "PERCENTAGE", // Possible choices PERCENTAGE or ABSOLUTE or CANCELATION
},
{
value: 10, // 10% tip
type: "PERCENTAGE", // Possible choices PERCENTAGE or ABSOLUTE or CANCELATION
},
{
type: "CANCELATION", // Cancelation tip
html: '<span>Ďakujem, neprajem si nechať sprepitné</span><br><span class="international">No tip, thank you</span>'
},
],
};
DEFAULT_IDLE - default cas v sekundach, pokial nie je ziadna aktivita na CUDI, po tomto case sa prepne do zakladnej obrazovkyTIPS_IDLE - default cas v sekundach, pokial nie sa caka na TIP a nie je ziadna aktivita, tak po tomto case sa prepne CUDI do zakladnej obrazovkyV oboch pripadoch pokial sa zada hodnota 0, tak sa IDLE vypne a nebude sa uplatnovat.
<entry key="cudi.tip.countdown">false</entry>
<entry key="cudi.tip.countdown.secs">0</entry>
<entry key="cudi.tip.countdown.closable">false</entry>
POZOR - ak budú nastavenia pre grid rovnaké ako v tomto príklade tak po zobrazení výzvy na CUDI nebude možné použiť kasu kým na CUDI manuálne nebude zrušené okno pre zadanie tip.
Hlavny konfiguracny subor promo akcii je cudi/cudi_conditions.js.
Viac v sekcii promo akcie.
CUDI ma dve casti aj ked vsetky subory su v jednom adresary cudi pod kasou.
cudi, pretoze pokladna spracovava nastavenie promo akcii a podla nastaveni posiela cez websocket promo akcie na zobrazenie do CUDI.CUDI je v podstate moderny interaktivny zakaznicky display.
Pri zmenach uctu sa odosielaju jednotlive eventy (zmeny uctu) do CUDI cez websocket a web socket zobrazuje tieto zmeny ako aj celkovu sumu uctu. Zaroven kasa vyhodnocuje promo akcie, ktore su nakonfigurovane a podla vyhodnotenia posiela jednotlive akcie, ktore splnaju poziadavky do CUDI na zobrazenie.