{"id":"c0030","filename":"c0030_faza6_optike_podruznice_skladista.dok.json","weise3_id":"","tip":"plan_faza","naziv":"c0030 — FAZA 6: Optike podruznice + skladista + inventura","kreator":"CC","datum":"2026-05-03T13:44:22.604125+00:00","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"plan_faza","kreator":"CC","nastao":"2026-05-03T13:44:22.604125+00:00","naziv":"c0030 — FAZA 6: Optike podruznice + skladista + inventura","prev_chain":"c0029","parent_master":"c0024","cilj":"Konjik d.o.o. ima podruznice (Optika Zagreb, Optika Split). Svaka podruznica ima skladista. Inventura per skladiste, transferi izmedju.","koraci":{"6.1":{"naziv":"Bootstrap optike","akcije":["firma.optika_konjik (sub-pod-konjik, djelatnost: optika)","podruznica.optika_zagreb (parent: optika_konjik)","podruznica.optika_split  (parent: optika_konjik)","skladiste.zagreb_glavni (parent: optika_zagreb, tip=glavni)","skladiste.zagreb_prikaz (parent: optika_zagreb, tip=prikaz)","skladiste.split_glavni  (parent: optika_split, tip=glavni)","osoba.optometrist_zagreb, osoba.optometrist_split","tenant.optika_pacijenti (sub-pod-konjik)"],"fajlovi":["scripts/bootstrap_optike.py"]},"6.2":{"naziv":"Inventura per skladiste","akcije":["artikl.dokarh — okvir, leca, dioptrijski set, otopina, asesoar","Polja: sifra, naziv, proizvodjac, kategorija, jmj, cijena_nabava, cijena_prodaja, slika_id (media weise3)","POST /api/v1/zalihe/?skladiste_id={wid} — dodaj zalihu artikl_id u skladiste, kolicina","GET /api/v1/zalihe/?skladiste_id={wid} — lista artikli sa kolicinama","Svaka promjena kolicine = sealed dokarh tip=zaliha.transakcija"],"fajlovi":["api/zalihe_optika.py","api/artikli.py"]},"6.3":{"naziv":"Transfer medju skladista","akcije":["POST /api/v1/transfers/ — izvor_skladiste_id, cilj_skladiste_id, artikl_id, kolicina, razlog","Validacija: izvor mora imati dovoljno zaliha; tier=native + role=voditelj_skladista","Sealed: 3 dokarh-a istovremeno (transfer, zaliha.izvor.minus, zaliha.cilj.plus)"],"fajlovi":["api/transfers.py"]},"6.4":{"naziv":"Pacijent kao partner — propter soba","akcije":["osoba.pacijent_X — fizicka osoba, role=pacijent, tenant=optika_pacijenti","POST /sobe/?template=optika_pacijent — kreira sobu pacijent <-> optika","Kanali: recepti (PDF od optometrista), narudzbe, racuni, jamstva, slike_pomagala (foto okvira)","Pacijent login (passphrase) -> vidi svoju povijest i tekuce narudzbe"],"fajlovi":["api/pacijenti.py"]},"6.5":{"naziv":"Narudzba flow","akcije":["POST /api/v1/narudzbe/ — pacijent_id, podruznica_id, artikli[], dioptrija_recept_id (media weise3 PDF/slika)","Status flow (ZAKON 4): kreirana -> u_izradi -> spremno_za_preuzimanje -> preuzeto","Svaki status change = dokarh; pacijent dobiva notifikaciju"],"fajlovi":["api/narudzbe.py"]}},"acceptance_kriteriji":["GET /podruznice/?firma=optika_konjik -> 2 podruznice (Zagreb, Split)","GET /skladista/?podruznica=optika_zagreb -> min 2 skladista","POST /transfers/ Zagreb glavni -> Split glavni 5x okvira -> 3 sealed dokarh-a","Pacijent X login -> vidi svoju sobu, kanal \"recepti\" sadrzi PDF dioptrijskog recepta","POST /narudzbe/ -> status kreirana; nakon 3 dana voditelj klikne preuzeto -> notifikacija","Cross-tenant: optika tenant ne vidi limit komitente i obratno"]}}