Ushbu hujjatda Restometrics dasturiy taʼminoti bilan iiko umumiy ovqatlanish korxonalarini avtomatlashtirish tizimi oʻrtasidagi integratsiyaning texnik arxitekturasi tavsiflanadi: qoʻllab-quvvatlanadigan versiyalar, foydalaniladigan API-metodlar, litsenziya talablari, moslik. Hujjat integratsiya oʻzgarishiga qarab yangilanib boriladi.
Integratsiyaning mamlakatlar boʻyicha asosiy jadvali — iiko hamkorlarining texnik hujjatlariga qoʻyiladigan talablarga muvofiq.
| Mamlakat | iiko versiyasi | Restometrics versiyasi | iiko plaginlari | Izoh |
|---|---|---|---|---|
| Oʻzbekiston Respublikasi | ≥ 5.5 | backend 1.0.0 / frontend 0.2.0 | — | Korporativ iiko API orqali faqat server tomonidagi (backend) integratsiya. iiko plaginlari ishlatilmaydi. |
Hozircha boshqa hududlarga xizmat koʻrsatilmaydi. Geografiya kengaygach, jadvalga har bir hudud uchun alohida qator qoʻshiladi.
Qoʻllab-quvvatlanadigan minimal versiya — iiko 5.5 va undan yuqori. Bu chegara shu versiyadan boshlab iikoning JSON formatidagi OLAP API 2-versiyasiga oʻtgani va OLAP soʻrovlarida sana boʻyicha majburiy filtr joriy etilgani bilan bogʻliq. Oldingi versiyalarda tahliliy maʼlumotlarni toʻgʻri yigʻib boʻlmaydi.
iikoning amaldagi versiyalarida (7.x va 8.x seriyalari) integratsiya muammosiz ishlaydi.
Restometrics runtime feature detection patternidan foydalanadi: mijozning iiko versiyasi qoʻllab-quvvatlamaydigan OLAP maydoniga murojaat qilinganda server «nomaʼlum maydon» xatosini oladi, maʼlumot yigʻish moduli uni toʻgʻri qayta ishlaydi va qolgan maʼlumotlarni yigʻishni toʻxtatmasdan keyingi soʻrovga oʻtadi.
Bu shuni anglatadiki, statik version-gates qoʻllanilmaydi: servis qoʻllab-quvvatlanadigan istalgan iiko versiyasiga ulanadi, shu versiyada mavjud boʻlmagan koʻrsatkichlar esa shunchaki yigʻilmaydi. Foydalanuvchi interfeysida tegishli boʻlimlar yo maʼlumot yoʻqligi haqida xabar koʻrsatadi, yo maʼlumot paydo boʻlguncha yashiriladi.
| Restometrics funksiyasi | OLAP maydoni mavjud boʻlmaganda |
|---|---|
| Taomlar boʻyicha fudkost va marja | Faqat tushum va sotuvlar soni yigʻiladi; marja kartochkalarida «texkarta boʻyicha maʼlumot yoʻq» deb koʻrsatiladi |
| Restoran zonalari boʻyicha tahlil (bar, veranda va h.k.) | «Zonalar» varagʻi iiko tizimida qoʻllab-quvvatlash paydo boʻlguncha yashiriladi |
| Kanallar boʻyicha tahlil (zal / yetkazib berish / olib ketish) | «Kanallar» varagʻi yashiriladi; buyurtma turlari boʻyicha ajratish mavjud emas |
| Chegirmalarni turlarga ajratish | Chegirmalar turlarga ajratilmasdan bitta toifada yigʻiladi |
| ABC-tahlildagi taom toifalari | Zaxira variant: kichik toifalarsiz, faqat guruhlar boʻyicha guruhlash |
| Oʻchirilgan pozitsiyalarning batafsil jurnali | Exception-tahlil funksiyasi oʻchiriladi |
| Soat ichida 15 daqiqalik detallashtirish | Zaxira variant: soatlik detallashtirish |
Minimal funksionallik (kunlar boʻyicha tushum, cheklar soni, oʻrtacha chek, mehmonlar soni, taomlar va xodimlar reytingi) 5.5-versiyadan boshlab qoʻllab-quvvatlanadigan barcha iiko versiyalarida ishlaydi.
Restometricsga ulanish uchun mijozga bitta faol iiko litsenziyasi kerak.
| iiko litsenziyasi | Kerakmi? | Vazifasi |
|---|---|---|
| iikoAPIServer | Ha | Korporativ iiko API va OLAP-hisobotlar API bilan ishlash. Yagona zarur litsenziya. |
| iikoAPIFront | Yoʻq | Restometrics Front (kassa) tomonida ishlamaydi. |
| iikoAPIFront Web | Yoʻq | — |
| iikoAPIPayment | Yoʻq | iiko toʻlov operatsiyalaridan foydalanilmaydi. |
Agar restoranda iikoOffice standart dashbordi ishlayotgan boʻlsa, iikoAPIServer litsenziyasi allaqachon mavjud. Restometricsni ulash uchun qoʻshimcha litsenziya xarajatlari talab qilinmaydi.
| Komponent | Versiya |
|---|---|
| Server qismi (backend) | 1.0.0 |
| Mijoz qismi (frontend SPA) | 0.2.0 |
Restometrics faqat korporativ iiko API (iikoAPIServer) bilan himoyalangan HTTPS kanali orqali ishlaydi. Quyida foydalaniladigan metodlarning toʻliq roʻyxati keltirilgan.
| API turi | Metod | Restometricsdagi vazifasi |
|---|---|---|
| iikoAPIServer | Autentifikatsiya | Ulanishning API-paroli bilan sessiya tokenini olish |
| iikoAPIServer | Sessiyani yakunlash | API litsenziyasini toʻgʻri boʻshatish |
| iikoAPIServer | SALES OLAP-hisoboti | Tushum, top taomlar, xodimlar statistikasi, toʻlov turlari, chegirmalar, oʻchirishlar, kanallar, zonalar |
| iikoAPIServer | DELIVERIES OLAP-hisoboti | Yetkazib berish analitikasi (yetkazib berish boʻlinmalari mavjud boʻlsa) |
| iikoAPIServer | TRANSACTIONS OLAP-hisoboti | Qoʻlda tuzilgan hisobdan chiqarish dalolatnomalari («Hisobdan chiqarish» moduli), pul oqimlari analitikasi |
| iikoAPIServer | Ombor qoldiqlari (v2/reports/balance/stores) | Lokatsiyalar va nomenklatura kesimida joriy ombor qoldiqlari («Ombor» moduli) |
| iikoAPIServer | OLAP maydonlari maʼlumotnomasi (v2/reports/olap/columns) | Serverda qaysi soliqlar sozlangani va ular qanday nomlangani — «Toʻlovlar» boʻlimida tushum soliqlarsiz koʻrsatiladigan joylarda soliqlarni koʻrsatish uchun. Har bir ulanish uchun sutkada bir marta soʻraladi |
| iikoAPIServer | Hisobvaraqlar boʻyicha qoldiqlar (v2/reports/balance/counteragents, v2/entities/accounts/list) | Belgilangan sanadagi pul va kontragentlar bilan hisob-kitoblar qoldiqlari («Moliya» moduli); boʻlim ochilganda soʻraladi, saqlanmaydi |
| iikoAPIServer | Kassa smenalari (v2/cashshifts/list) | Smenaning ochilish va yopilish vaqti, holati, naqd va naqd pulsiz toʻlovlari («Kassa smenalari» boʻlimi); boʻlim ochilganda soʻraladi, saqlanmaydi |
| iikoAPIServer | Boʻlinmalar roʻyxati | Mijoz lokatsiyalari roʻyxatini avtomatik olish |
| iikoAPIServer | Omborlar roʻyxati (corporation/stores) | «Ombor» moduli uchun omborlar nomlari |
| iikoAPIServer | Nomenklatura (products, v2/entities/products/list, v2/entities/products/group/list) | Taomlar va toifalar maʼlumotnomasi — pozitsiyalarning nomlari va guruhlanishi |
| iikoAPIServer | Texnologik kartalar (v2/assemblyCharts/getAll) | Taomlar tarkibi — tannarx oʻsishini qimmatlashgan ingrediyentlar orqali tushuntirish |
| iikoAPIServer | Xodimlar va ish vaqtini hisobga olish (employees, employees/roles, employees/schedule/types, employees/attendance, employees/attendance/types, employees/salary, employees/schedule) | Xodimlarning ismlari, lavozimlar nomlari, smena turlari, ishlangan soatlar hamda ish haqi fondi va unumdorlikni hisoblash uchun davomat turlaridagi ish vaqti belgisi. Lavozimlar maʼlumotnomasidagi stavkalar qayta ishlanmaydi va saqlanmaydi. Xodimlarning joriy stavkalari (employees/salary) faqat mijoz tugmani bosganda, stavkalarni kiritishda yordamchi maslahat sifatida soʻraladi va saqlanmaydi. Smenalar rejasi (employees/schedule) uni tabel yonida koʻrsatish uchun mijoz tugmani bosganda bir haftaga soʻraladi va saqlanmaydi |
| iikoAPIServer | Hodisalar jurnali (events) | «Xavfli operatsiyalar» boʻlimi uchun prechekni bekor qilish va undan keyin pozitsiyalarni oʻchirish: soatiga bir marta, faqat uch turdagi hodisa, faqat ulanishdagi lokatsiyalar hodisalari. «Hodisalar jurnalini koʻrish» huquqini talab qiladi |
| iikoAPIServer | Kontragentlar maʼlumotnomasi (suppliers) | Yetkazib beruvchilarning nomlari va STIR raqamlari — iiko tizimida turlicha yozilgan bitta yuridik shaxs bitta yetkazib beruvchi sifatida hisoblanishi uchun |
| iikoAPIServer | Yetkazib beruvchilarning narxnomalari (suppliers/{code}/pricelist) | Yetkazib beruvchilarning etalon narxlari — yuk xatidagi narxni iiko tizimiga kiritilgan narx bilan solishtirish uchun |
Odatiy ish rejimida mijozning iiko serveriga tushadigan yuklama — bitta ulanish uchun:
| Koʻrsatkich | Qiymat |
|---|---|
| Oʻrtacha yuklama | soniyasiga 0,1 operatsiyadan kam (ops/sec) |
| Tarixni dastlabki yuklash rejimidagi eng yuqori yuklama (yangi boʻlinma ulanganda bir marta) | 3 ops/sec gacha, davomiyligi bir necha daqiqadan bir soatgacha |
| Odatiy ish rejimidagi eng yuqori yuklama (inkremental yigʻish) | lokatsiyalari koʻp boʻlgan ulanishlarda 3 ops/sec gacha; odatiy qiymat — 0,25 ops/sec dan kam |
Xodimlar, lavozimlar, smena turlari va davomat turlari maʼlumotnomalari sutkada bir martadan koʻp soʻralmaydi: har biri uchun bitta ulanishga bitta GET-soʻrov. Lavozimlar maʼlumotnomasi ushbu roʻyxatga qoʻshilgan va har bir ulanish uchun sutkada bitta qoʻshimcha GET-soʻrovni anglatadi.
Barcha OLAP-soʻrovlar iiko API standart cheklovlariga rioya qilgan holda tuziladi, jumladan sana boʻyicha majburiy filtrlar va bitta soʻrovdagi maydonlar sonining cheklovi. Restometrics bitta ulanishga parallel OLAP-soʻrovlar yubormaydi — bu iiko kompaniyasining OLAP API bilan ishlash boʻyicha tavsiyalariga rioya qilish uchun.
Restometrics faqat 6-boʻlimda koʻrsatilgan iiko API metodlari bilan ishlashini maʼlum qiladi. Hujjatlashtirilmagan metodlardan foydalanilmaydi. Texnik hujjatlar toʻliq boʻlishi uchun quyida integratsiya murojaat qilmaydigan iiko metodlari sinflari keltirilgan.
| iiko metodlari sinfi | Foydalanilmaslik sababi |
|---|---|
| OLAP API v1 (XML formati) | Butun integratsiya JSON formatidagi OLAP API v2 asosida qurilgan. |
STOCK OLAP-hisoboti (reportType=STOCK) | Qoldiqlar haqidagi OLAP maʼlumotlaridan foydalanilmaydi. Ombor moduli 6-boʻlimda koʻrsatilgan v2/reports/balance/stores (hujjatlashtirilgan REST-metod) orqali bevosita ishlaydi. |
| iikoAPIFront va iikoAPIPayment metodlari | Restometrics kassa terminallari tomonida ishlamaydi va toʻlov operatsiyalarini bajarmaydi. |
Kelgusi relizlarda funksionallik kengaytirilsa, foydalaniladigan metodlar roʻyxati (6-boʻlim) yangilanadi, oʻzgarishlar esa 11-boʻlimga muvofiq eʼlon qilinadi.
Restometrics faqat iiko avtomatlashtirish tizimi bilan integratsiyalashgan. Umumiy ovqatlanish korxonalarini avtomatlashtirishning boshqa tizimlari bilan integratsiya amalga oshirilmagan.
Restometrics iiko plaginlaridan foydalanmaydi.
Integratsiya «backend-to-backend» arxitektura sxemasi boʻyicha qurilgan: Restometrics serveri mijozning iiko serveriga korporatsiyaning rasmiy API (iikoAPIServer) orqali ulanadi. Plaginlarni iikoFront kassalariga yoki iikoOffice ofis qismiga oʻrnatish talab qilinmaydi.
| Oʻzgarish turi | Xabardor qilish usuli |
|---|---|
| Qoʻllab-quvvatlanadigan eng past iiko versiyasining oʻzgarishi | Barcha faol foydalanuvchilarga email + oʻzgarish kuchga kirishidan kamida 14 kun oldin ushbu sahifada eʼlon qilish |
| Server yoki mijoz qismining yirik (major) relizi | Ilova interfeysida bildirishnoma; release notes boʻlimida eʼlon qilish; muhim oʻzgarishlarda — email |
| Foydalaniladigan iiko API metodlarini qoʻshish yoki olib tashlash | Ushbu sahifani oʻzgarish sanasi koʻrsatilgan holda yangilash |
| Yirik nosozliklar (servis 15 daqiqadan ortiq ishlamay qolishi) | Faol foydalanuvchilarga email; servisning holat sahifasi |
https://restometrics.uz/tech sahifasida eʼlon qilingan. Oxirgi yangilanish sanasi sahifaning pastki qismida koʻrsatiladi.