Kaip naudotis Lukky
Lukky – greita kasa mažoms užkandinėms ir kebabinėms. Darbuotojas užsakymą priima keliais palietimais, programa pati suskaičiuoja sumą ir grąžą, o savininkas mato, kas ir kada geriausiai parduodama. Programa sukurta planšetei, bet veikia ir telefone.
Rolės ir teisės
Kiekvienas žmogus prisijungia savo vardu ir PIN kodu. Ką jis mato, priklauso nuo rolės:
Darbuotojas
- Priima užsakymus ir mokėjimus
- Mato užsakymų eilę, žymi „Atlikta“
- Gali siūlyti patobulinimus
Savininkas
- Viskas, ką gali darbuotojas
- Dienos ataskaita ir statistika su grafikais
- Keičia produktus, kainas, savikainą ir paveikslėlius
- Mato pelną
- Atšaukia užsakymus
- Mato pasiūlymų sąrašą
Administratorius
- Visos teisės
- Keičia programos nustatymus, galiojančius visiems
- Kuria vartotojus, keičia roles ir PIN kodus
- Tvarko pasiūlymų sąrašą (būsenos, trynimas)
- Generuoja demonstracinius duomenis
| Skiltis | Darbuotojas | Savininkas | Administratorius |
|---|---|---|---|
| Kasa, Užsakymai | ✓ | ✓ | ✓ |
| Užsakymo atšaukimas | jei leidžia nustatymas | ✓ | ✓ |
| Šiandien, Statistika | — | ✓ | ✓ |
| Produktų redagavimas, rinkiniai, nuolaidos | — | ✓ | ✓ |
| Savikaina, pelnas, pakeitimų žurnalas | — | ✓ | ✓ |
| Nuolaidos taikymas, kliento kodas, pamainos atidarymas ir uždarymas | ✓ | ✓ | ✓ |
| Pasiūlymų sąrašas | tik siūlyti | peržiūra | tvarkymas |
| Nustatymai | — | — | ✓ |
| Vartotojai, demonstraciniai duomenys | — | — | ✓ |
Prisijungimas
- Atidarykite programą – matysite visų darbuotojų korteles.
- Palieskite savo vardą.
- Įveskite PIN kodą ir paspauskite ✓.

Norėdami perduoti planšetę kitam darbuotojui, viršuje dešinėje palieskite savo vardą ir pasirinkite Keisti vartotoją / atsijungti. Po 5 neteisingų PIN bandymų prisijungimas užrakinamas 30 sekundžių.
Užsakymo priėmimas

- Viršuje pasirinkite kategoriją: Burgeriai, Kebabai, Garnyrai, Gėrimai.
- Palieskite prekę – ji atsiranda užsakyme. Palietus dar kartą, kiekis padidėja.
- Kiekį keiskite mygtukais − ir +. Sumažinus iki nulio, eilutė pašalinama.
- Jei reikia, įrašykite kliento vardą ar pastabą (pvz. „Rokas“ arba „išsinešti“) – ji bus matoma užsakymų eilėje.
- Iš viso suma skaičiuojama automatiškai.
Mygtukas Išvalyti iškart ištrina visą užsakymą – be papildomo klausimo. Jei paspaudėte per klaidą, 5 sekundes apačioje matysite mygtuką Grąžinti, kuris atkuria užsakymą.
Priedai ir padažai
Palieskite užsakymo eilutę – apačioje kairėje atsiras tos kategorijos priedai (pvz. Papildomas sūris +1,00 €, Česnakinis padažas, Be svogūnų). Palieskite priedą, kad jį pridėtumėte ar nuimtumėte; kaina pasikeis iškart.
Mokėjimas ir grąža

- Grynaisiais – pasirinkite, kiek klientas padavė: Be grąžos, artimiausią apvalią sumą ar banknotą. Kitą sumą įveskite laukelyje. Didžiaisiais skaičiais rodoma grąža. Jei pinigų per mažai, matysite „Nepakanka“ ir patvirtinti nepavyks.
- Kortele – tiesiog paspauskite Patvirtinti, kai terminalas priims mokėjimą.
Patvirtinus, apačioje parodomas užsakymo numeris ir grąža, pvz. „Užsakymas Nr. 2 išsaugotas · Grąža 8,00 €“. Numeriai kasdien prasideda nuo 1. Kainas visada paima serveris – net jei kas nors bandytų jas pakeisti naršyklėje, suma bus teisinga.
Rinkiniai ir nuolaidos kasoje
- Rinkiniai pritaikomi patys: įdėjus, pvz., burgerį, bulvytes ir gėrimą, virš sumos atsiranda eilutė „Rinkinys „Pietų rinkinys“ −1,50 €“.
- Nuolaida – užsakymo viršuje paspauskite Nuolaida ir pasirinkite (pvz. „Studentams −10 %“). Nuimti – ✕ prie nuolaidos eilutės.
- Rodoma tarpinė suma, kiekviena nuolaida atskirai ir galutinė suma. Serveris sumą perskaičiuoja tokia pačia tvarka, todėl ji visada sutampa.
Kliento užsakymas pagal kodą
Klientas gali užsisakyti pats savo telefone (žr. Užsakymas telefonu) ir gauna 4 skaitmenų kodą. Kai jis prieina prie kasos:
- Užsakymo viršuje paspauskite Kodas ir įveskite 4 skaitmenis – užsakymas iškart įkeliamas į kasą su visais priedais ir kliento vardu.
- Jei reikia, pakeiskite prekes ar pritaikykite nuolaidą.
- Priimkite mokėjimą įprastai. Užsakymas atsiranda eilėje, o kodas tampa nebegaliojantis.

Kodas galioja 3 valandas. Jei nuo kliento užsakymo kainos pasikeitė, kasa apie tai įspėja ir rodo dabartinę sumą.
Pamaina ir kasos uždarymas (Z ataskaita)
- Pamainos pradžioje: palieskite savo vardą viršuje → Pamaina ir kasos uždarymas (arba geltoną priminimą kasoje „Pamaina neatidaryta“) ir įveskite, kiek grynųjų yra kasoje grąžai.
- Parduokite kaip įprasta – visi užsakymai priskiriami pamainai.
- Pamainos pabaigoje: vėl atidarykite tą patį langą, suskaičiuokite grynuosius ir įveskite sumą, paspauskite Uždaryti pamainą.
- Programa parodo Z ataskaitą: kiek turėjo būti kasoje, kiek suskaičiuota ir skirtumą (trūkumą ar perteklių). Ją galima atspausdinti.

Kiek turi būti kasoje, programa žino tik tada, kai atsiskaitymai skirstomi į grynuosius ir korteles (žr. Nustatymai). Visų pamainų istoriją savininkas mato skiltyje Šiandien.
Užsakymų eilė

- Skirtukas Užsakymai rodo dar neatiduotus užsakymus; raudonas skaičiukas – kiek jų laukia.
- Užsakymas, laukiantis ilgiau nei 15 min., pažymimas raudonai.
- Atidavę maistą, paspauskite Atlikta. Per klaidą uždarytą užsakymą rasite skiltyje „Visi šiandien“ ir galėsite grąžinti į atvirus.
- Atšaukti užsakymą gali tik savininkas arba administratorius – atšauktas užsakymas neįskaičiuojamas į apyvartą. Patvirtinimo neklausiama – per klaidą atšauktą užsakymą 5 sekundes galima grąžinti mygtuku apačioje.
- Sąrašas atsinaujina kas 10 sekundžių, todėl virtuvėje gali stovėti antra planšetė su šiuo ekranu.
Virtuvės ekranas
Antrai planšetei virtuvėje: palieskite vardą viršuje → Virtuvės ekranas. Rodomi visi atviri užsakymai dideliu šriftu, atsinaujina kas 3 sekundes.
- Paspauskite Įjungti garsą – atėjus naujam užsakymui pasigirs signalas, o kortelė sumirksės.
- Vėluojantys užsakymai pažymimi raudonai (laikas nustatomas Nustatymuose).
- Paruošta – užsakymas iškart dingsta iš eilės ir kasoje.
- Visas ekranas paslepia naršyklės juostas.

Darbas be interneto
Jei dingsta ryšys (pvz. furgone), kasa veikia toliau:
- Meniu, kainos ir nustatymai imami iš planšetės atminties.
- Apmokėtas užsakymas išsaugomas planšetėje – pasirodo pranešimas „Nėra ryšio – užsakymas išsaugotas planšetėje“, o viršuje raudona žymė „Nėra ryšio · N laukia“.
- Grįžus ryšiui užsakymai išsiunčiami automatiškai, su tikru pardavimo laiku. Pakartotinai siunčiant užsakymas niekada neįrašomas du kartus.
Pasiūlyti patobulinimą
Kiekvienas vartotojas gali pasiūlyti, ką pagerinti bet kuriame ekrane:
- Viršuje dešinėje paspauskite Pasiūlyti (lemputės piktograma). Atsiras mėlyna juosta „Palieskite elementą, kurį norite patobulinti“.
- Palieskite mygtuką, laukelį ar kitą elementą – jis bus pažymėtas (užsakymas tuo metu nesikeis).
- Aprašykite, ką pakeisti, pasirinkite prioritetą ir paspauskite Įtraukti į sąrašą.


Užsakymas telefonu klientams
Atskira programa klientams: /uzsakyti.html?org=jūsų-kodas (nuorodą su kodu rasite meniu „Klientų užsakymų programa“) (pvz. QR kodas ant prekystalio ar stalo). Prisijungti nereikia.
- Klientas naršo prekes su nuotraukomis, paliečia prekę, pasirenka priedus ir kiekį → Į krepšelį.
- Rinkinių nuolaidos pritaikomos automatiškai.
- Krepšelyje (gali įrašyti vardą) paspaudžia Patvirtinti užsakymą ir gauna 4 skaitmenų kodą.
- Parodo kodą darbuotojui – šis įveda jį kasoje (Kliento kodas) ir priima mokėjimą.


Nuorodą į klientų programą rasite paspaudę savo vardą kasoje → Klientų užsakymų programa.
Dienos ataskaita savininkas

Dienos pabaigoje palyginkite Grynaisiais sumą su pinigais kasoje. Mygtukas Spausdinti atspausdina ataskaitą.
Statistika ir grafikai savininkas

Viršuje dešinėje pasirinkite laikotarpį: 7, 30 arba 90 dienų.
- Apyvarta, Užsakymai – su pokyčiu, palyginti su ankstesniu tokio pat ilgio laikotarpiu (▲ augimas, ▼ kritimas).
- Vidutinis čekis ir Perkamiausia prekė.
- Apyvarta pagal dienas – stulpeliai padalinti į kortelę ir grynuosius. Užveskite pelę ar palieskite stulpelį, kad pamatytumėte tikslius skaičius.

- Perkamiausios prekės – 10 geriausių; perjunkite Pagal pajamas arba Pagal kiekį.
- Kategorijos – kokią pajamų dalį duoda burgeriai, kebabai, garnyrai, gėrimai.
- Užimtumas pagal valandas – kada daugiausia klientų; pagal tai planuokite pamainas.
- Darbuotojai – kiek užsakymų ir pajamų pardavė kiekvienas darbuotojas.
Produktai ir kainos savininkas

- Pavadinimą ar kainą pakeiskite tiesiog laukelyje – išsaugoma automatiškai, kai paliekate laukelį.
- Kainos laukelis priima tik skaičius su ne daugiau kaip dviem skaitmenimis po kablelio; ženklas € visada rodomas gale (pvz. 8,50 €).
- Išparduota – laikinai paslepia prekę kasoje (pvz. baigėsi falafeliai). Grąžinti – vėl rodo.
- ✕ iškart ištrina prekę ar priedą, o Ištrinti kategoriją – kategoriją su visomis jos prekėmis. Patvirtinimo neklausiama: 5 sekundes apačioje rodomas mygtukas Grąžinti, kuris viską atkuria. Ankstesni užsakymai ir statistika nepasikeis.
- Naują prekę ar priedą pridėkite kategorijos apačioje; nemokamam priedui palikite kainą 0,00 €.
- Priedai galioja visoms tos kategorijos prekėms.
- Naują kategoriją sukurkite viršuje laukelyje Naujos kategorijos pavadinimas.
Prekės paveikslėlis
Palieskite paveikslėlį prekės eilutės pradžioje. Galite pasirinkti iliustraciją iš sąrašo arba įkelti savo produkto nuotrauką:
- Paspauskite pirmą langelį Įkelti nuotrauką.
- Pasirinkite nuotrauką iš galerijos arba – planšetėje ar telefone – nufotografuokite produktą iškart.
- Nuotrauka automatiškai apkerpama į kvadratą (paimamas vidurys), sumažinama ir iškart atsiranda kasoje.
Tinka JPG, PNG ir WebP nuotraukos. Įkeltos nuotraukos rodomos sąrašo pradžioje, tad tą pačią nuotrauką galima priskirti ir kitai prekei. Nuotraukas įkelti gali savininkas ir administratorius.

Savikaina ir pelnas savininkas
Kiekvienai prekei skiltyje „Produktai“ galima įvesti savikainą – kiek jums kainuoja ją pagaminti. Šalia iškart rodomas uždarbis nuo vieneto ir marža, pvz. +5,30 € · 62 %; parduodant pigiau nei savikaina – raudonai.
- Savikainą ir pelną mato tik savininkas ir administratorius – darbuotojams ji niekur nerodoma ir net nesiunčiama į jų įrenginius.
- Pardavimo metu savikaina įsimenama, todėl vėliau ją pakeitus ankstesnių dienų pelnas neperskaičiuojamas.
- Šiandien: plytelė „Pelnas“ su marža, o lentelėje prie kiekvienos prekės – savikaina ir pelnas.
- Statistika: pelnas su pokyčiu, palyginti su ankstesniu laikotarpiu, perkamiausias prekes galima rikiuoti Pagal pelną, o užvedus ant stulpelio ar juostos matomas ir pelnas.
- Nuolaidos ir rinkiniai iš pelno atimami.
- Jei kai kurioms prekėms savikaina neįvesta, rodoma, kiek pardavimų „be savikainos“ – jų pelnas neįskaičiuojamas.
Pakeitimų žurnalas savininkas
Kiekvienas pakeitimas skiltyje „Produktai“ įrašomas: kas, kada ir ką pakeitė (pvz. „Kaina: 8,50 € → 9,00 €“). Įrašomi pavadinimų, kainų, savikainos, paveikslėlių ir „Išparduota“ pakeitimai, prekių, priedų ir kategorijų sukūrimas bei ištrynimas.
- Vienos eilutės istorija – laikrodžio mygtukas 🕓 prie prekės ar kategorijos.
- Visas žurnalas – mygtukas Pakeitimų žurnalas skilties viršuje.

Rinkinių ir nuolaidų kūrimas savininkas
Skilties „Produktai“ viršuje:
- Rinkinys – įveskite pavadinimą, pažymėkite kategorijas (pvz. Burgeriai + Garnyrai + Gėrimai) ir nuolaidą eurais. Kai užsakyme yra po prekę iš kiekvienos kategorijos, nuolaida pritaikoma automatiškai – tiek kartų, kiek rinkinių susidaro.
- Nuolaida – pavadinimas ir dydis procentais arba eurais (pvz. „Studentams −10 %“, „Darbuotojų maitinimas −50 %“). Ją darbuotojas pasirenka kasoje.
Pasiūlymų sąrašas savininkas
Meniu po vardu (viršuje dešinėje) → Pasiūlymų sąrašas. Čia matomi visi darbuotojų pasiūlymai su elementu, ekranu ir įrenginio dydžiu. Nuoroda Parodyti elementą atidaro programą ir pažymi tą elementą. Administratorius keičia būseną (Naujas → Suplanuotas → Vykdomas → Atliktas / Atmestas) ir prioritetą; sąrašą galima eksportuoti į CSV.

Nustatymai administratorius
Skiltyje Nustatymai administratorius nustato, kaip programa veikia. Nustatymai galioja visiems vartotojams ir visuose įrenginiuose: kitos planšetės ir telefonai pakeitimus gauna per ~10 sekundžių, nereikia nieko perkrauti. Kiekvienas pakeitimas išsaugomas iš karto, o apačioje pasirodo patvirtinimas „… · galioja visiems“. Prie kiekvieno nustatymo yra trumpas paaiškinimas.

Atsiskaitymo būdas
Pasirinkite vieną iš dviejų kortelių – kiekvienoje parodyta, kaip atrodys kasos apačia:
| Skirstyti į grynuosius ir korteles | Tik atsiskaitymas, be skirstymo | |
|---|---|---|
| Kasoje | Du mygtukai: Grynaisiais ir Kortele | Vienas mygtukas Apmokėti |
| Grąžos skaičiuoklė | Būtina mokant grynaisiais | Neprivaloma – galima iškart spausti „Patvirtinti“ |
| Dienos ataskaita | Atskiros grynųjų ir kortelių sumos – patogu suskaičiuoti kasą | Tik bendra apyvarta |
| Statistika | Apyvartos grafike – kortelės ir grynųjų dalis | Vienas apyvartos stulpelis |
| Kam tinka | Kai reikia žinoti, kiek grynųjų turi būti kasoje | Kai svarbiausia greitis, o mokėjimo būdas neapskaitomas |

Kiti nustatymai
- Įmonės pavadinimas – rodomas programos viršuje ir prisijungimo ekrane (pvz. „Kebabinė prie stoties“).
- Vėluojančio užsakymo laikas – po kiek minučių (1–120) atviras užsakymas eilėje tampa raudonas. Numatyta 15 min.
- Darbuotojai gali atšaukti užsakymus – įjungus mygtukas „Atšaukti“ atsiranda ir darbuotojams. Numatyta išjungta, nes atšauktas užsakymas mažina apyvartą.
- Klausti kliento vardo ar pastabos – rodo ar slepia laukelį „Vardas / pastaba“ kasoje.
Vartotojai ir PIN kodai administratorius

- Naujas vartotojas: įveskite vardą, pasirinkite rolę ir PIN kodą (4–6 skaitmenys), paspauskite Pridėti.
- Rolę pakeiskite išskleidžiamajame sąraše; naują PIN įveskite laukelyje Naujas PIN.
- Išjungti – darbuotojas nebegalės prisijungti, bet jo pardavimai statistikoje liks.
- Programa neleis išjungti ar pažeminti paskutinio administratoriaus ir išjungti savo paties paskyros.
Demonstraciniai duomenys administratorius
Norėdami parodyti, kaip atrodys statistika, paspauskite Sugeneruoti 30 d. pardavimus arba Sugeneruoti 90 d. Programa sukurs tikroviškus praėjusių dienų užsakymus: pietų ir vakarienės piko valandas, daugiau pirkėjų savaitgaliais, skirtingą prekių populiarumą, grynuosius ir korteles, abu darbuotojus. Šiandienos užsakymai nekeičiami.
Ištrinti demonstracinius pardavimus pašalina tik sugeneruotus užsakymus – tikri lieka. Veiksmas atliekamas iškart, be patvirtinimo.
Planšetė ir telefonas
Programa prisitaiko prie ekrano: planšetėje prekės ir užsakymas rodomi greta, telefone – vienas po kito, o mokėjimo mygtukai visada matomi apačioje.

Rodinio pasirinkimas
Palieskite savo vardą viršuje dešinėje → Rodinys:
- Auto (numatytasis) – programa pati parenka rodinį pagal ekrano plotį.
- Planšetė – prekės ir užsakymas visada greta.
- Telefonas – kompaktiškas rodinys su didesniais mygtukais apačioje; plačiame ekrane rodomas telefono pločio stulpelis per vidurį.
Pasirinkimas įsimenamas tame įrenginyje, todėl kiekviena planšetė ar telefonas gali turėti savo rodinį.
Meniu po vardu → Peržiūra telefone ir planšetėje parodo programą abiejuose įrenginiuose vienu metu.
Paleidimas
- Kompiuteryje su Node.js 22.13 ar naujesne versija programos aplanke paleiskite npm install ir npm start.
- Planšetėje atidarykite http://<kompiuterio-IP>:3000 ir pasirinkite „Pridėti prie pagrindinio ekrano“ – programa atsidarys per visą ekraną.
- Duomenys saugomi faile till.db – reguliariai pasidarykite jo kopiją.
- Tikroje veikloje paleiskite su DEMO=0: PIN kodai nebus rodomi prisijungimo ekrane, o demonstracinių duomenų generavimas bus išjungtas.