# DigiPOS — uputstvo za korišćenje

Jednostavno uputstvo za **administratora**, **konobara**, **kasira u prodavnici** i **kuvara u kuhinji**.

Aplikacija radi u internet pregledaču (Chrome, Edge, Safari). Nije potrebna instalacija na telefon — dovoljno je otvoriti adresu koju vam administrator da.

> **Zvanična ESIR uputstva:** [Uputstvo za instalaciju](UPUTSTVO-ZA-INSTALACIJU.md) · [Uputstvo za upotrebu](UPUTSTVO-ZA-UPOTREBU.md) (PDF: `npm run docs:pdf`)

---

## Sadržaj

1. [Šta je DigiPOS?](#1-šta-je-digipos)
2. [Kako se pokreće](#2-kako-se-pokreće)
3. [Prijava — PIN kod](#3-prijava--pin-kod)
4. [Ko šta sme da radi (uloge)](#4-ko-šta-sme-da-radi-uloge)
5. [Administrator](#5-administrator)
6. [Konobar (restoran)](#6-konobar-restoran)
7. [Radnik na kasi (prodavnica)](#7-radnik-na-kasi-prodavnica)
8. [Kuvar u kuhinji](#8-kuvar-u-kuhinji)
9. [Korisni saveti i rešavanje problema](#9-korisni-saveti-i-rešavanje-problema)

**Brzi vodič za štampu:** [BRZI_VODIC.md](BRZI_VODIC.md) · [brzi-vodic.html](brzi-vodic.html) · [docs portal](/docs/)

---

## 1. Šta je DigiPOS?

DigiPOS je fiskalna kasa za:

- **Restoran** — stolovi, porudžbine, slanje u kuhinju, naplata
- **Prodavnicu** — brza prodaja: skeniraj barkod ili klikni artikal → NAPLATI

Postoje **dva odvojena ulaza**:

| Gde | Adresa | Ko ulazi |
|-----|--------|----------|
| **Kasa** | `http://localhost:3000` (ili IP računara) | Konobar, kasir, kuvar |
| **Administracija** | `http://localhost:3000/admin` | Samo administrator |

> **Važno:** Kasa i administracija imaju **različitu prijavu**. PIN administratora ne otvara automatski admin panel ako niste na `/admin` adresi.

---

## 2. Kako se pokreće

### Na računaru u lokalu

1. Pokrenite **`start.bat`** (dvostruki klik) ili u terminalu: `node server.js`
2. Otvorite pregledač na adresi: **http://localhost:3000**
3. Na ekranu će se pri startu ispisati i adresa za telefone, npr. **http://192.168.0.32:3000**

### Konobar na telefonu

1. Telefon mora biti na **istom Wi‑Fi-ju** kao računar sa kasom
2. U pregledaču otvorite adresu koju piše pri startu (IP računara + `:3000`)
3. Možete dodati prečicu na početni ekran telefona („Dodaj na početni ekran")

### Kuvar u kuhinji

- Tablet ili ekran u kuhinji → ista adresa kase → prijava PIN-om → tab **Kuhinja**
- Ekran se sam osvežava na svakih **10 sekundi**

---

## 3. Prijava — PIN kod

Svaki zaposleni dobija **PIN** (4–8 cifara) od administratora.

![Prijava na kasu](screenshots/01-prijava-kasa.png)

**Koraci:**

1. Otvorite kasu u pregledaču
2. Tapnite cifre PIN-a na tastaturi
3. Pritisnite plavo dugme **✓**
4. Ako je PIN pogrešan, tačkice nestanu — pokušajte ponovo

**Jezik:** Dugmad **СРБ / SRB / ENG / GRE** ispod tastature menjaju jezik celog ekrana.

**Odjava:** Gornje desno dugme **Odjava** — obavezno na kraju smene, posebno na deljenom tabletu.

> Početni administrator ima PIN **1234**. Administrator treba odmah da ga promeni u Admin → Korisnici.

---

## 4. Ko šta sme da radi (uloge)

| Uloga | Stolovi / porudžbina | Naplata | Računi (kopija) | Refundacija | Izveštaj | Admin panel |
|-------|---------------------|---------|-----------------|-------------|----------|-------------|
| **Konobar** | ✅ | ✅ | ✅ kopija | ❌ | ❌ | ❌ |
| **Kasir** | ✅ (restoran) / ✅ (kasa) | ✅ | ✅ | ✅ | ✅ | ❌ |
| **Admin** | ✅ sve | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Kuvar** | — | — | — | — | — | Samo tab **Kuhinja** |

Kuvar obično dobija nalog sa ulogom konobar ili kasir, ali koristi **samo ekran Kuhinja**.

---

## 5. Administrator

Administracija: **http://localhost:3000/admin**

![Prijava u administraciju](screenshots/09-prijava-admin.png)

Samo korisnik sa ulogom **admin** može ući. Ostali vide poruku da nemaju pristup.

### 5.0 Prvi dan — checklist za puštanje u rad

Pre nego što konobar/kasir krenu u smenu:

- [ ] Promenite podrazumevani PIN **1234** (Admin → Korisnici → Izmeni)
- [ ] Dodajte zaposlene: ime, **jedinstven PIN**, uloga (konobar / kasir / admin)
- [ ] Admin → Podešavanja → **Režim rada** (`restoran` ili `prodavnica`)
- [ ] Izaberite **Vlasnik** i **Objekat** (firma i prodajno mesto)
- [ ] Podesite **LPFR** (`DEMO` za probu) i **fiskalni štampač** → **Sačuvaj** → **Proveri LPFR**
- [ ] Restoran: nacrtajte **Stolovi** na planu sale
- [ ] Proverite **Artikli** — cene, barkodovi, oznake **P** / **H** za restoran
- [ ] Odštampajte [brzi vodič](brzi-vodic.html) za osoblje

> Brzi pregled za štampu: [BRZI_VODIC.md](BRZI_VODIC.md) ili otvorite **http://localhost:3000/docs/**

### 5.1 Izveštaj — pregled prometa

![Admin izveštaj](screenshots/10-admin-izvestaj.png)

- Izaberite **datum** i kliknite **Osveži**
- Vidite: broj računa, promet, refundacije, neto
- Ispod: po načinu plaćanja, po zaposlenom, po artiklu
- **Dnevni radni nalog** — za magacine sa normativima (restorani sa sastojcima)

### 5.2 Korisnici — dodavanje zaposlenih

![Admin korisnici](screenshots/11-admin-korisnici.png)

1. Klik **+ Novi korisnik**
2. Unesite **ime**, **PIN** i **ulogu** (konobar / kasir / admin)
3. **Sačuvaj**

**Preporuka za PIN-ove:**

| Zaposleni | Uloga | Primer PIN-a |
|-----------|-------|--------------|
| Marko | konobar | 1111 |
| Ana | kasir | 2222 |
| Petar | kuvar (koristi Kuhinja) | 3333 |

Svakom dajte **različit PIN** da u izveštaju vidite ko je koliko prodao.

### 5.3 Stolovi — raspored sale

![Admin stolovi](screenshots/12-admin-stolovi.png)

1. **+ Novi sto** — naziv (npr. „Sto 5”), zona (Sala, Bašta, Terasa), broj stolica
2. **Prevucite sto** mišem/prstom na plan sale — pozicija se odmah pamti
3. **✎** — izmena naziva, zone, zaduženog konobara
4. **QR kod stola** — gosti mogu naručiti skeniranjem (ako je uključen kiosk/QR meni)

### 5.4 Podešavanja — najvažnije stvari

![Admin podešavanja](screenshots/13-admin-podesavanja.png)

| Podešavanje | Objašnjenje |
|-------------|-------------|
| **Režim rada** | `restoran` ili `prodavnica` — menja ceo izgled kase |
| **LPFR adresa** | `DEMO` za probu; u produkciji adresa fiskalnog uređaja |
| **Fiskalni štampač** | Ime Windows štampača, `FILE` (probni fajl) ili `NONE` |
| **Štampač za kuhinju** | Poseban štampač za porudžbine (prazno = isključeno) |
| **Vlasnik / Objekat** | Za koga kasa radi (firma i prodajno mesto) |

Na dnu: **Sačuvaj podešavanja** i **Proveri LPFR** (da li fiskalni uređaj odgovara).

### 5.5 Artikli — meni i cene

Admin → tab **Artikli**

1. **+ Novi artikal** ili **Izmeni** pored postojećeg
2. Popunite:
   - **Naziv**, **cena**, **barkod** (za skener u prodavnici)
   - **Poreska grupa** (PDV stopa)
   - **HP oznaka** — u restoranu konobar vidi samo:
     - **P** = piće (kafa, sok, pivo…)
     - **H** = hrana (roštilj, salata…)
     - prazno = ne prikazuje se konobaru
   - **Podgrupa** (Kafa, Roštilj…) — filteri na kasi
3. **Podgrupe** — dodavanje kategorija (npr. `07` = Roštilj)

**Prodavnica:** svi artikli sa cenom se vide na kasi; barkod je obavezan ako koristite skener.

---

## 6. Konobar (restoran)

Režim **restoran** mora biti uključen u Admin → Podešavanja.

### 6.1 Pregled stolova

![Plan stolova](screenshots/02-stolovi-restoran.png)

- **Zeleno / prazno** — sto slobodan („slobodan”)
- **Obojen / sa iznosom** — sto ima otvorenu porudžbinu; piše konobar i ukupan iznos
- **🛎 broj** — gost je naručio preko QR koda sa stola

**Korak:** Tapnite sto da otvorite porudžbinu.

### 6.2 Unos porudžbine

![Porudžbina za sto](screenshots/03-porudzbina-sto.png)

**Levo:**

- **Pretraga** — kucajte naziv, šifru ili barkod + Enter
- **Filteri** (Kafa, Roštilj…) — brzo sužavanje menija
- **Klik na artikal** — dodaje 1 komad u porudžbinu

**Desno — korpa za sto:**

![Korpa sa stavkama](screenshots/04-korpa-porudzbina.png)

| Dugme | Šta radi |
|-------|----------|
| **− / +** | Smanji / povećaj količinu |
| **✕** | Obriši stavku |
| **⇄** | Prebaci celu porudžbinu na drugi sto |
| **← Stolovi** | Nazad na plan sale |
| **Pošalji** (žuto) | Šalje **novu hranu/piće** u kuhinju (štampa se na kuhinjskom štampaču ako je podešeno) |
| **Predračun** | Štampa račun za gosta **pre** plaćanja (nije konačna fiskalizacija) |
| **Naplati** (zeleno) | Otvara ekran za plaćanje |

**Oznake pored stavki:**

- 🍴 — poslato u kuhinju
- 🖥 — naručeno sa kioska/QR sa stola

### 6.3 Naplata

![Ekran naplate](screenshots/06-naplata.png)

1. Klik **Naplati**
2. Proverite **ukupan iznos** (plavo)
3. Unesite koliko je gost platio:
   - Samo gotovina → ostavite samo polje **Gotovina**
   - Kombinacija → npr. deo kartica, deo gotovina
4. **Povraćaj** se računa automatski (zeleno)
5. Opciono: **Kupac** — PIB za firmu (tip 10 + broj)
6. **IZDAJ RAČUN** — fiskalni račun se štampa i sto postaje slobodan

### 6.4 Računi — kopija

Tab **Računi** → izaberite datum → **Kopija** pored računa (konobar može samo kopiju, ne refundaciju).

### 6.5 Rad sa telefona

Isti ekrani, prilagođeni za prst:

1. Wi‑Fi → otvorite IP adresu kase
2. Prijava PIN-om
3. **Stolovi** → tapnite sto → birajte artikle → **Pošalji** → na kraju **Naplati**

Držite telefon vertikalno; korpa je ispod artikala.

---

## 7. Radnik na kasi (prodavnica)

Režim **prodavnica** u Admin → Podešavanja.

![Kasa u prodavnici](screenshots/14-prodavnica-kasa.png)

Nema stolova ni kuhinje — odmah se otvara **Kasa**.

### Brza prodaja — korak po korak

1. **Skenirajte barkod** — skener „otkuca” kod u polje pretrage i pritisne Enter  
   *ili* kucajte naziv / šifru  
   *ili* tapnite artikal na mreži
2. Artikli se dodaju u **Korpu** desno
3. **− / +** za količinu, **Isprazni** za novu kupovinu
4. Veliko zeleno **NAPLATI 123,45** → isti ekran plaćanja kao u restoranu
5. **IZDAJ RAČUN** → gotovo, korpa se prazni

### Loyalty kartica

Ako imate popust kartice — skenirajte barkod kartice u polje pretrage (pre ili posle artikala). Prikazaće se popust u korpi.

### Računi i izveštaj (kasir)

Kasir vidi tabove **Računi** i **Izveštaj**:

![Lista računa](screenshots/07-racuni.png)

![Dnevni izveštaj](screenshots/08-izvestaj-kasa.png)

- **Refundacija** — samo kasir/admin; pita potvrdu pre storniranja
- **Izveštaj** — dnevni promet za proveru blagajne na kraju smene

### Refundacija (storno računa)

1. Tab **Računi**
2. Izaberite **datum** i pronađite originalni račun (tip **Promet**)
3. Klik **Refundacija** (crveno)
4. Potvrdite poruku — izdaje se storno fiskalni račun
5. Proverite da li se račun odštampao

Refundacija je dozvoljena samo za konačne račune prometa, ne za predračun.

---

## 8. Kuvar u kuhinji

Tab **Kuhinja** — namenjen ekranu u kuhinji ili na šanku.

![Ekran kuhinje](screenshots/05-kuhinja.png)

### Kako izgleda porudžbina

Svaka kartica ima:

- **Sto** ili **Kiosk #** — odakle je naručeno
- **Vreme** — kada je stiglo
- **Konobar** — ko je poslao
- **Lista jela/pića** sa količinama

### Šta kuvar radi

| Akcija | Kada |
|--------|------|
| **✓** pored jedne stavke | Ta stavka je spremna |
| **SVE SPREMNO** (zeleno) | Cela porudžbina gotova — nestaje sa ekrana |

Ekran se **sam osvežava**; nije potrebno stalno pritiskati refresh.

### Saveti za kuhinju

- Koristite tablet u pejzažnom režimu, jačina ekrana na maksimum
- Držite uređaj na struju
- PIN može biti isti za celu kuhinju (npr. samo uloga konobar, ali svi znaju da idu na Kuhinja)
- Ako porudžbina ne stigne — proverite da li je konobar pritisnuo **Pošalji** (ne samo dodao u korpu)

---

## 9. Korisni saveti i rešavanje problema

### „Ne mogu da se prijavim”

- Proverite da li je PIN tačan (pitajte administratora)
- Da li je nalog **aktivan** (Admin → Korisnici)
- Za admin panel morate biti na **`/admin`**, ne na običnoj kasi

### „Artikal nije pronađen”

- Proverite da li artikal postoji u šifarniku (Admin → Artikli)
- U restoranu: neki artikli moraju imati oznaku **P** (piće) ili **H** (hrana) da bi bili vidljivi konobaru

### „Račun se ne štampa”

- Administrator: Admin → Podešavanja → proverite ime štampača ili stavite `FILE` za probu
- Poruka na ekranu posle naplate kaže da li je štampa uspela

### „Telefon ne otvara kasu”

- Isti Wi‑Fi kao računar
- Ispravna IP adresa (ne `localhost` sa telefona — to ne radi)
- Proverite da li `start.bat` / server radi

### „Kuhinja je prazna a konobar je poslao”

- Konobar mora pritisnuti **Pošalji**, ne samo dodati u listu
- Štampa u kuhinji i ekran Kuhinja rade nezavisno — ekran prikazuje poslato u kuhinju

### Prečice — šta ko najčešće radi

```
KONOBAR:     Stolovi → sto → artikli → Pošalji → ... → Naplati → IZDAJ RAČUN
KASIR:       Kasa → barkod/artikli → NAPLATI → IZDAJ RAČUN
KUVAR:       Kuhinja → ✓ / SVE SPREMNO
ADMIN:       /admin → Korisnici / Stolovi / Podešavanja / Izveštaj
```

---

## Pregled ekrana (slike)

| Slika | Opis |
|-------|------|
| [01-prijava-kasa.png](screenshots/01-prijava-kasa.png) | Prijava PIN-om na kasi |
| [02-stolovi-restoran.png](screenshots/02-stolovi-restoran.png) | Plan stolova |
| [03-porudzbina-sto.png](screenshots/03-porudzbina-sto.png) | Unos porudžbine |
| [04-korpa-porudzbina.png](screenshots/04-korpa-porudzbina.png) | Korpa sa stavkama |
| [05-kuhinja.png](screenshots/05-kuhinja.png) | Ekran kuhinje |
| [06-naplata.png](screenshots/06-naplata.png) | Naplata i načini plaćanja |
| [07-racuni.png](screenshots/07-racuni.png) | Pregled računa |
| [08-izvestaj-kasa.png](screenshots/08-izvestaj-kasa.png) | Dnevni izveštaj na kasi |
| [09-prijava-admin.png](screenshots/09-prijava-admin.png) | Prijava u administraciju |
| [10-admin-izvestaj.png](screenshots/10-admin-izvestaj.png) | Admin izveštaj |
| [11-admin-korisnici.png](screenshots/11-admin-korisnici.png) | Upravljanje korisnicima |
| [12-admin-stolovi.png](screenshots/12-admin-stolovi.png) | Raspored stolova |
| [13-admin-podesavanja.png](screenshots/13-admin-podesavanja.png) | Podešavanja sistema |
| [14-prodavnica-kasa.png](screenshots/14-prodavnica-kasa.png) | Kasa u prodavnici |

---

*DigiPOS / DigiPOS — srpska eFiskalizacija (ESIR → LPFR). Za tehnička pitanja oko baze, LPFR-a i sinhronizacije sa centralom pogledajte [README.md](../README.md).*

**Pristup u lokalu:** [http://localhost:3000/docs/](http://localhost:3000/docs/)

**PDF verzija:** nakon `npm run docs:pdf` → [DigiPOS-uputstvo.pdf](DigiPOS-uputstvo.pdf) · [DigiPOS-brzi-vodic.pdf](DigiPOS-brzi-vodic.pdf)
