{"openapi":"3.0.0","info":{"title":"Agro Inspeksiya API","description":"Qishloq xo'jaligi inspeksiyasi axborot tizimi - Yagona API kirish nuqtasi\n\n**Base URL:** `https:\/\/gateway-agrosert.simplex.uz`\n\n**API Prefix:** `\/api\/v1\/`\n\nBarcha so'rovlar `\/api\/v1\/` prefix bilan yuboriladi.","version":"1.0.0","contact":{"name":"API Support","email":"support@agroinspeksiya.uz"}},"servers":[{"url":"https:\/\/gateway-agrosert.simplex.uz","description":"API Gateway"}],"paths":{"\/api\/v1\/auth\/register":{"post":{"tags":["Auth Service","Authentication"],"summary":"Yangi foydalanuvchi ro'yxatdan o'tkazish","description":"Email yoki login (username) orqali ro'yxatdan o'tish. Ikkalasidan kamida bittasi yuborilishi kerak.","operationId":"ed42f392010c301892e640067141676e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","password","password_confirmation"],"properties":{"name":{"description":"Ism","type":"string","example":"Ali"},"lastname":{"description":"Familiya","type":"string","example":"Valiyev","nullable":true},"display_name":{"description":"Ko'rinadigan ism","type":"string","example":"Ali Valiyev","nullable":true},"login":{"description":"Login (username) \u2014 email o'rniga","type":"string","example":"ali_valiyev","nullable":true},"email":{"description":"Email manzil \u2014 login o'rniga","type":"string","format":"email","example":"ali@agroin.uz","nullable":true},"password":{"description":"Parol (min 8, katta+kichik harf+raqam)","type":"string","format":"password","example":"Password123"},"password_confirmation":{"description":"Parol tasdiqlash","type":"string","format":"password","example":"Password123"}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli ro'yxatdan o'tdi"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/auth\/login":{"post":{"tags":["Auth Service","Authentication"],"summary":"Tizimga kirish","description":"Email yoki login (username) bilan tizimga kirish. Ikkalasidan kamida biri yuborilishi kerak.\n\n**Login qidirish tartibi:**\n1. `email` yuborilsa \u2014 email bo'yicha qidiriladi\n2. `login` yuborilsa \u2014 avval email sifatida, keyin display_name yoki name bo'yicha qidiriladi\n\nMuvaffaqiyatli bo'lsa JWT token qaytaradi (7 kun amal qiladi).","operationId":"8cb7742ae98d0990acb2907c4e00bf24","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["password"],"properties":{"email":{"description":"Email manzil","type":"string","example":"superadmin@agroin.uz","nullable":true},"login":{"description":"Login (username yoki display_name)","type":"string","example":"toshkent_ostk","nullable":true},"password":{"description":"Parol","type":"string","format":"password","example":"password"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli kirish","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Tizimga muvaffaqiyatli kirdingiz"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Login yoki parol noto'g'ri"},"403":{"description":"Hisob faol emas"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/auth\/logout":{"post":{"tags":["Auth Service","Authentication"],"summary":"User logout","operationId":"0d29c740dc06d77602af8095bf4654cc","responses":{"200":{"description":"Logout successful"},"401":{"description":"Unauthorized"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/auth\/refresh":{"post":{"tags":["Auth Service","Authentication"],"summary":"Refresh JWT token","operationId":"f6c9683ed975ace7d035a09e6e2a9332","responses":{"200":{"description":"Token refreshed successfully"},"401":{"description":"Token invalid or expired"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/auth\/me":{"get":{"tags":["Auth Service","Authentication"],"summary":"Get current user","operationId":"a9c495788506b114956e3f509e5d90a2","responses":{"200":{"description":"User information retrieved successfully"},"401":{"description":"Unauthorized"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/auth\/forgot-password":{"post":{"tags":["Auth Service","Authentication"],"summary":"Request password reset token","operationId":"b13d5efc90e1de6d4e9900240fce9b4d","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["email"],"properties":{"email":{"type":"string","format":"email","example":"user@example.com"}},"type":"object"}}}},"responses":{"200":{"description":"Reset token generated","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"properties":{"email":{"type":"string"},"token":{"type":"string"},"expires_in":{"type":"integer","example":3600}},"type":"object"}},"type":"object"}}}},"404":{"description":"User not found"},"422":{"description":"Validation error"}}}},"\/api\/v1\/auth\/reset-password":{"post":{"tags":["Auth Service","Authentication"],"summary":"Reset password with token","operationId":"bbf02faac4cfbb998aad2b63a843b88c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["email","token","password","password_confirmation"],"properties":{"email":{"type":"string","format":"email","example":"user@example.com"},"token":{"type":"string","example":"reset-token"},"password":{"type":"string","format":"password","example":"NewPassword123"},"password_confirmation":{"type":"string","format":"password","example":"NewPassword123"}},"type":"object"}}}},"responses":{"200":{"description":"Password reset successfully"},"400":{"description":"Invalid or expired token"},"422":{"description":"Validation error"}}}},"\/api\/v1\/auth\/change-password":{"post":{"tags":["Auth Service","Authentication"],"summary":"Change password for authenticated user","operationId":"255dd8dc9b5174b7256349a2318e8c1e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["current_password","password","password_confirmation"],"properties":{"current_password":{"type":"string","format":"password","example":"OldPassword123"},"password":{"type":"string","format":"password","example":"NewPassword123"},"password_confirmation":{"type":"string","format":"password","example":"NewPassword123"}},"type":"object"}}}},"responses":{"200":{"description":"Password changed successfully"},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/seeds\/regions":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Urug' arizalari \u2014 viloyatlar kesimida (tonna)","operationId":"6598920a308a77d73bdbec18bd97f07e","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"region_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Viloyatlar bo'yicha urug' statistikasi"},"401":{"description":"Avtorizatsiyasiz"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/seeds\/enterprises":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Urug' arizalari \u2014 korxonalar kesimida (tonna)","operationId":"c299951a4963de7d88a3378296880ca5","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"page","in":"query","schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","schema":{"type":"integer","example":20}},{"name":"stir","in":"query","schema":{"type":"string"}},{"name":"crop_type","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Korxonalar bo'yicha urug'"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/seedlings\/regions":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Ko'chat arizalari \u2014 viloyatlar kesimida (dona)","operationId":"2c539db16ec39f3898e8dcf4bfc6b1bd","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"region_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Viloyatlar bo'yicha ko'chat statistikasi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/seedlings\/enterprises":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Ko'chat arizalari \u2014 korxonalar kesimida (dona)","operationId":"2197ab4732fc3dc87e8f699cf5ba8ab0","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"page","in":"query","schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","schema":{"type":"integer","example":20}},{"name":"stir","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Korxonalar bo'yicha ko'chat"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/cotton\/summary-by-region":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Paxta (chigit) \u2014 viloyatlar kesimida sertifikat","operationId":"3785a3dc62bb536eb827103b2cdd9a68","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"enterprise_count, certificate_count, total_quantity"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/cotton\/summary-by-enterprise":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Paxta (chigit) \u2014 korxonalar kesimida","operationId":"08bb51942864117a5830093f556756ca","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"enterprise, stir, activity_type, certificate_count, total_quantity"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/cotton\/certificates":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Paxta (chigit) \u2014 sertifikatlar ro'yxati","operationId":"a508b01486e36db55b0ca10530926f12","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"page","in":"query","schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","schema":{"type":"integer","example":50}}],"responses":{"200":{"description":"Sertifikatlar (sifat, korxona, mahsulot, test_report)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/grain\/summary-by-region":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Don (g'alla) \u2014 viloyatlar kesimida sertifikat","operationId":"43de31f4082712c484312af3839f3973","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"enterprise_count, certificate_count, total_quantity"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/grain\/summary-by-enterprise":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Don (g'alla) \u2014 korxonalar kesimida","operationId":"b5c8ebc47428adde356b718f2ea2ae69","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"enterprise, stir, activity_type (don saqlash), certificate_count, total_quantity"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/agrosert\/grain\/certificates":{"get":{"tags":["Shared Service","Integratsiya: Agrosert"],"summary":"Don (g'alla) \u2014 sertifikatlar ro'yxati","operationId":"48da47130a177b77691306c7ac3a1477","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}},{"name":"page","in":"query","schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","schema":{"type":"integer","example":50}}],"responses":{"200":{"description":"Sertifikatlar (sifat, korxona, mahsulot, test_report)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/car-info":{"post":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"Transport vositalari (IIV) \u2014 INN\/PINFL\/davlat raqami\/texpasport bo'yicha","operationId":"af0288c2a10b119640ad5404f41dab82","requestBody":{"content":{"application\/json":{"schema":{"properties":{"pTin":{"type":"string","example":"308450922"},"pPinpp":{"type":"string"},"pPlateNumber":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Texnika ro'yxati"},"401":{"description":"Avtorizatsiyasiz"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/gtk-hscode":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"GTK \u2014 HS-code bo'yicha eksport\/import (sekin ~50s)","operationId":"bb67f070fa28deb7cff9421ff729f5ca","parameters":[{"name":"transaction_id","in":"query","schema":{"type":"string"}},{"name":"sender_pin","in":"query","schema":{"type":"string"}},{"name":"reqDate","in":"query","schema":{"type":"string","example":"2025-01-16"}}],"responses":{"200":{"description":"HS-code ro'yxati"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/agroplatforma":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 Agroplatforma ekin maydonlari va kredit (viloyat)","operationId":"299a81ee101520379543dfb181df3668","parameters":[{"name":"year","in":"query","required":true,"schema":{"type":"integer","example":2025}},{"name":"soato","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Statistika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/crop-argo":{"post":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 CropAgro (tuman bo'yicha ekin holati)","operationId":"48871de81677fa5f99f7e75edb94cb9d","requestBody":{"content":{"application\/json":{"schema":{"properties":{"type":{"type":"string","example":"data"},"subtype":{"type":"string","example":"cotton"},"regions":{"type":"integer","example":1703},"districts":{"type":"integer","example":1703203},"year":{"type":"integer","example":2025}},"type":"object"}}}},"responses":{"200":{"description":"CropAgro natijasi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/farmer-projects":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 Ekinlarni joylashtirish (fermer + kontur + maydon feed)","operationId":"cccf267fb6db398c7f9787463dea0b30","parameters":[{"name":"update_id","in":"query","schema":{"type":"integer","example":0}}],"responses":{"200":{"description":"Ekin yozuvlari (500 ta\/sahifa)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/land-geometry\/{landId}":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 Kontur geometriyasi (Polygon) land_id bo'yicha","operationId":"73e376d4184408d34ae3dfa9918eb444","parameters":[{"name":"landId","in":"path","required":true,"schema":{"type":"integer","example":2858055}}],"responses":{"200":{"description":"GeoJSON Polygon"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/hosil-paxta":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 Paxta hosil qabuli (feed)","operationId":"5e8ff791c57bdf7343383880c0ae419f","parameters":[{"name":"update_id","in":"query","schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Hosil qabuli yozuvlari"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/qxv\/hosil-reestr":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"QXV \u2014 Hosil reestri (viloyat\/tuman jami)","operationId":"28bb5d4c613f8b9d5061bd0903309d7b","parameters":[{"name":"soato","in":"query","schema":{"type":"string","example":"1703"}},{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"Hosil reestri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/uzstandart\/entity-certs":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"O'zstandart \u2014 Tashkilot sertifikatlari ro'yxati","operationId":"bd755375e103499bef49aff4db90de4b","responses":{"200":{"description":"Sertifikatlar"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/uzstandart\/cert-info":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"O'zstandart \u2014 Muvofiqlik sertifikati ma'lumoti (applier_stir)","operationId":"71513c66afe571503483bd7080d4de11","parameters":[{"name":"applier_stir","in":"query","schema":{"type":"string"}},{"name":"transaction_id","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Sertifikat ma'lumoti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/uzstandart\/sertificate":{"post":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"O'zstandart \u2014 Muvofiqlik sertifikatlari (tin bo'yicha)","operationId":"36aa1d29869d5c2eb0b1f380d3a8bb3e","requestBody":{"content":{"application\/json":{"schema":{"properties":{"tin":{"type":"string","example":"308450922"},"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":10}},"type":"object"}}}},"responses":{"200":{"description":"Sertifikatlar"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/uzstandart\/meter-info":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"O'zstandart \u2014 O'lchov asboblari (legal_consumer_stir_or_pinfl)","operationId":"f6d8a1c1328a9d2e595bb2e7dd22cee8","parameters":[{"name":"legal_consumer_stir_or_pinfl","in":"query","schema":{"type":"string"}},{"name":"transaction_id","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"O'lchov asboblari"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/sudlanganlik":{"post":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"Sudlanganlik tekshiruvi (IIV) \u2014 request_id qaytaradi","operationId":"c32a904e9113ba97bf81f2ca5029c933","requestBody":{"content":{"application\/json":{"schema":{"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"birth_year":{"type":"integer","example":1992},"pinfl":{"type":"string"},"organization_id":{"description":"IIV \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a kodi","type":"string"},"region_id":{"type":"string","example":"1726"},"consent":{"type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"request_id"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/stat\/yirik-korxona":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"Statistika \u2014 Yirik korxonalar","operationId":"d20f048e99863f97c35780b99370cf04","parameters":[{"name":"year","in":"query","schema":{"type":"integer","example":2025}}],"responses":{"200":{"description":"Korxonalar"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/stat\/eximp":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"Statistika \u2014 Eksport\/Import mahsulot ma'lumoti","operationId":"56227acca487b5c9fbe940c3aac55435","responses":{"200":{"description":"Eksport\/Import"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/ktyadr":{"post":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"Statistika \u2014 Yagona registr (INN bo'yicha korxona)","operationId":"6059f92745345194fdf2242c1891fe5a","requestBody":{"content":{"application\/json":{"schema":{"properties":{"inn":{"type":"string","example":"308450922"},"transaction_id":{"type":"string"},"sender_pinfl":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Registr yozuvi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/shared\/integrations\/egov\/ttz-agro":{"get":{"tags":["Shared Service","Integratsiya: Raqamli hukumat"],"summary":"TTZ \u2014 Agro texnika (sana bo'yicha)","operationId":"059fdc88ca2024236482b00b70c303a4","parameters":[{"name":"date","in":"query","schema":{"type":"string","example":"2025.06.30"}}],"responses":{"200":{"description":"Agro texnika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/countries":{"get":{"tags":["Shared Service","Countries"],"summary":"Get all countries","description":"Get list of all active countries","operationId":"44042ed84da01c70ce052bb1b814734e","parameters":[{"name":"locale","in":"query","description":"Language locale","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Country"}}},"type":"object"}}}}}}},"\/api\/v1\/countries\/{id}":{"get":{"tags":["Shared Service","Countries"],"summary":"Get country by ID","description":"Get single country with regions and districts","operationId":"4c482b67c13252558fcae0882fe68579","parameters":[{"name":"id","in":"path","description":"Country ID","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","description":"Language locale","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"short_name":{"type":"string"},"currency_code":{"type":"string"},"code":{"type":"string"},"regions":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"404":{"description":"Country not found","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Davlat topilmadi"}},"type":"object"}}}}}}},"\/api\/v1\/countries\/{id}\/regions":{"get":{"tags":["Shared Service","Countries"],"summary":"Get country regions","description":"Get regions of a country","operationId":"215393e69baf974826b6d6f57009108e","parameters":[{"name":"id","in":"path","description":"Country ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Region"}}},"type":"object"}}}}}}},"\/api\/v1\/districts":{"get":{"tags":["Agroteh Service","Districts"],"summary":"Tumanlar ro'yxati","operationId":"a0bf5ccf149a73335dbaa7a08526aa75","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidirish","schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat (state_id) bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol holatda filtrlash","schema":{"type":"boolean"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"post":{"tags":["Agroteh Service","Districts"],"summary":"Yangi tuman qo'shish","operationId":"f5bfa0df7070a42d6f1299cd23e552a3","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","state_id"],"properties":{"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"name_en":{"type":"string","example":"Chilanzar district"},"state_id":{"description":"Viloyat ID","type":"integer","example":1},"code":{"description":"Tuman kodi","type":"string","example":"CHI"},"soato":{"description":"SOATO kodi","type":"integer","example":172604},"is_active":{"description":"Faol holati","type":"boolean","example":true},"sort_order":{"description":"Tartib raqami","type":"integer","example":1}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/cities\/list":{"get":{"tags":["Shared Service","Cities"],"summary":"Tumanlar ro'yxati (Legacy)","description":"uzagroteh-main: \/cities\/list bilan moslik uchun","operationId":"8da131b6c19ebff17366347c58ff01a2","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidirish","schema":{"type":"string"}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash (alias)","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol holatda filtrlash","schema":{"type":"boolean"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/cities\/add":{"get":{"tags":["Shared Service","Cities"],"summary":"Tuman qo'shish formasi","description":"uzagroteh-main: \/cities\/add bilan moslik uchun","operationId":"4e8b6e8c9d381bb6edd6e12676ccd624","responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/cities\/store":{"post":{"tags":["Shared Service","Cities"],"summary":"Yangi tuman qo'shish","description":"uzagroteh-main: \/cities\/store bilan moslik uchun","operationId":"d9213537268763ed5e9c866d03874e6c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","state_id"],"properties":{"name":{"description":"Tuman nomi","type":"string","example":"Chilonzor"},"state_id":{"description":"Viloyat ID","type":"integer","example":1},"soato":{"description":"SOATO kodi","type":"integer","example":172604}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/districts\/{id}":{"get":{"tags":["Shared Service","Districts"],"summary":"Tuman ma'lumotlari","description":"Tuman haqida to'liq ma'lumot, viloyat bilan","operationId":"fa182a476cdc0c8ba43ea64cefb89678","parameters":[{"name":"id","in":"path","description":"Tuman ID","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"}}},"put":{"tags":["Shared Service","Districts"],"summary":"Tumanni yangilash","operationId":"8ed26ac264ded4c34d2ceb1a7dad5166","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string"},"name_uz":{"type":"string"},"name_ru":{"type":"string"},"name_en":{"type":"string"},"state_id":{"description":"Viloyat ID","type":"integer"},"code":{"description":"Tuman kodi","type":"string"},"soato":{"description":"SOATO kodi","type":"integer"},"is_active":{"description":"Faol holati","type":"boolean"},"sort_order":{"description":"Tartib raqami","type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"},"422":{"description":"Validatsiya xatosi"}}},"delete":{"tags":["Shared Service","Districts"],"summary":"Tumanni o'chirish","operationId":"ab73fcda99855cb4a4ff4d301b651305","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"}}}},"\/api\/v1\/cities\/list\/edit\/{id}":{"get":{"tags":["Shared Service","Cities"],"summary":"Tuman tahrirlash formasi","description":"uzagroteh-main: \/cities\/list\/edit\/{id} bilan moslik uchun","operationId":"287b8abb3a872b668ddf2d958e9c3de9","parameters":[{"name":"id","in":"path","description":"Tuman ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"}}}},"\/api\/v1\/cities\/list\/edit\/update\/{id}":{"post":{"tags":["Shared Service","Cities"],"summary":"Tumanni yangilash","description":"uzagroteh-main: \/cities\/list\/edit\/update\/{id} bilan moslik uchun","operationId":"09dfba9a137c83d505f301a8742104ab","parameters":[{"name":"id","in":"path","description":"Tuman ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Tuman nomi","type":"string"},"state_id":{"description":"Viloyat ID","type":"integer"},"soato":{"description":"SOATO kodi","type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"}}}},"\/api\/v1\/cities\/list\/delete\/{id}":{"get":{"tags":["Shared Service","Cities"],"summary":"Tumanni o'chirish","description":"uzagroteh-main: \/cities\/list\/delete\/{id} bilan moslik uchun","operationId":"2f24b1f6b2f2f8e97b99b322acfb790a","parameters":[{"name":"id","in":"path","description":"Tuman ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Tuman topilmadi"}}}},"\/api\/v1\/regions":{"get":{"tags":["Agroteh Service","Regions"],"summary":"Viloyatlar ro'yxati","operationId":"b56b7fa96bcbf0d800501bd279be2bd3","parameters":[{"name":"search","in":"query","description":"Nomi yoki SOATO bo'yicha qidirish","schema":{"type":"string"}},{"name":"country_id","in":"query","description":"Davlat bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol holatda filtrlash","schema":{"type":"boolean"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"post":{"tags":["Agroteh Service","Regions"],"summary":"Yangi viloyat qo'shish","operationId":"a781d9ab0c802e218fc80f7efbced850","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string","example":"Toshkent viloyati"},"name_uz":{"type":"string","example":"Toshkent viloyati"},"name_ru":{"type":"string","example":"\u0422\u0430\u0448\u043a\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"},"name_en":{"type":"string","example":"Tashkent region"},"country_id":{"description":"Davlat ID","type":"integer","example":1},"code":{"description":"Viloyat kodi","type":"string","example":"TAS"},"series":{"description":"Tr.-mashinist guvohnomasi seriya prefiksi","type":"string","example":"UZ-AB"},"soato":{"description":"SOATO kodi","type":"integer","example":1727},"is_active":{"description":"Faol holati","type":"boolean","example":true},"sort_order":{"description":"Tartib raqami","type":"integer","example":1}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/states\/list":{"get":{"tags":["Shared Service","States"],"summary":"Viloyatlar ro'yxati (Legacy)","description":"uzagroteh-main: \/states\/list bilan moslik uchun","operationId":"bbb7aa4465a3d267723e7e3d6e890a4d","parameters":[{"name":"search","in":"query","description":"Nomi yoki SOATO bo'yicha qidirish","schema":{"type":"string"}},{"name":"country_id","in":"query","description":"Davlat bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol holatda filtrlash","schema":{"type":"boolean"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/states\/add":{"get":{"tags":["Shared Service","States"],"summary":"Viloyat qo'shish formasi","description":"uzagroteh-main: \/states\/add bilan moslik uchun","operationId":"f38285e4ed3ebf6667e0de0485df5e0d","responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/states\/store":{"post":{"tags":["Shared Service","States"],"summary":"Yangi viloyat qo'shish","description":"uzagroteh-main: \/states\/store bilan moslik uchun","operationId":"ba8c01c7f73d93a5439f763ebdc6ffea","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati"},"code":{"description":"Viloyat kodi","type":"string","example":"TAS"},"series":{"description":"Seriya prefiksi","type":"string","example":"UZ-AB","nullable":true},"soato":{"description":"SOATO kodi","type":"integer","example":1727}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/regions\/{id}":{"get":{"tags":["Shared Service","Regions"],"summary":"Viloyat ma'lumotlari","description":"Viloyat haqida to'liq ma'lumot, davlat va tumanlar bilan","operationId":"a45edfa21bce0ca88d4d64a740340707","parameters":[{"name":"id","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}},"put":{"tags":["Shared Service","Regions"],"summary":"Viloyatni yangilash","operationId":"84ee7ae55abdf1dfd77c870517c5ce24","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string"},"name_uz":{"type":"string"},"name_ru":{"type":"string"},"name_en":{"type":"string"},"country_id":{"description":"Davlat ID","type":"integer"},"code":{"description":"Viloyat kodi","type":"string"},"series":{"description":"Seriya prefiksi (Tr.-mashinist guvohnomasi uchun)","type":"string","nullable":true},"soato":{"description":"SOATO kodi","type":"integer"},"is_active":{"description":"Faol holati","type":"boolean"},"sort_order":{"description":"Tartib raqami","type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"},"422":{"description":"Validatsiya xatosi"}}},"delete":{"tags":["Shared Service","Regions"],"summary":"Viloyatni o'chirish","operationId":"31d8795cc04ee42d5d2a679ef8d88c53","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}}},"\/api\/v1\/states\/list\/edit\/{id}":{"get":{"tags":["Shared Service","States"],"summary":"Viloyat tahrirlash formasi","description":"uzagroteh-main: \/states\/list\/edit\/{id} bilan moslik uchun","operationId":"d061b55499ac23e826a2af5d500982cc","parameters":[{"name":"id","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}}},"\/api\/v1\/states\/list\/edit\/update\/{id}":{"post":{"tags":["Shared Service","States"],"summary":"Viloyatni yangilash","description":"uzagroteh-main: \/states\/list\/edit\/update\/{id} bilan moslik uchun","operationId":"faf5dc25dc621fe0c83daf77b541ecc2","parameters":[{"name":"id","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Viloyat nomi","type":"string"},"code":{"description":"Viloyat kodi","type":"string"},"series":{"description":"Seriya prefiksi","type":"string"},"soato":{"description":"SOATO kodi","type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}}},"\/api\/v1\/states\/list\/delete\/{id}":{"get":{"tags":["Shared Service","States"],"summary":"Viloyatni o'chirish","description":"uzagroteh-main: \/states\/list\/delete\/{id} bilan moslik uchun","operationId":"3ec8f55a52eab66f15c60ca93a86c335","parameters":[{"name":"id","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}}},"\/api\/v1\/regions\/{id}\/districts":{"get":{"tags":["Shared Service","Regions"],"summary":"Viloyat tumanlari","description":"Viloyatning barcha tumanlari ro'yxati","operationId":"ab76d18ceaa6fb0df458f70144a81993","parameters":[{"name":"id","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","description":"Til (uz, ru, en)","schema":{"type":"string","default":"uz","enum":["uz","ru","en"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Viloyat topilmadi"}}}},"\/api\/v1\/activities":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Faoliyat loglari ro'yxati","description":"Tizimdagi barcha faoliyat loglarini filtrlash va sahifalash imkoniyati bilan olish","operationId":"95761a10a8d473dbd3dd1dce4f121d88","parameters":[{"name":"log_name","in":"query","description":"Log nomi bo'yicha filtrlash","schema":{"type":"string"}},{"name":"event","in":"query","description":"Hodisa turi bo'yicha filtrlash","schema":{"type":"string","enum":["created","updated","deleted"]}},{"name":"subject_type","in":"query","description":"Obyekt turi (vehicle, customer, ...)","schema":{"type":"string"}},{"name":"subject_id","in":"query","description":"Obyekt IDsi","schema":{"type":"integer"}},{"name":"causer_type","in":"query","description":"Amalga oshiruvchi turi","schema":{"type":"string"}},{"name":"causer_id","in":"query","description":"Amalga oshiruvchi IDsi","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Tavsif yoki xususiyatlar bo'yicha qidirish","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ActivityResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/statistics":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Faoliyat statistikasi","description":"Tizim faoliyati bo'yicha umumiy statistikani olish (hodisalar, log nomlari, eng faol foydalanuvchilar)","operationId":"85b57f6e7f9c5214c21038676ff15c01","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/for-subject":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Ma'lum obyekt uchun faoliyat tarixi","description":"Berilgan obyekt (vehicle, customer, invoice va h.k.) uchun barcha o'zgarishlar tarixini olish","operationId":"907b1c9f99e95fccc27c5249648681a7","parameters":[{"name":"type","in":"query","description":"Obyekt turi (vehicle, customer, inspection va h.k.)","required":true,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Obyekt IDsi","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Noto'g'ri model turi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/for-causer":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Ma'lum foydalanuvchi uchun faoliyat tarixi","description":"Berilgan foydalanuvchi tomonidan amalga oshirilgan barcha harakatlar tarixini olish","operationId":"617165c938b8e61c76a300da9ac8b360","parameters":[{"name":"causer_id","in":"query","description":"Foydalanuvchi IDsi","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/{activity}":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Faoliyat tafsilotlari","description":"Bitta faoliyat logi haqida to'liq ma'lumot olish (obyekt, foydalanuvchi, o'zgarishlar)","operationId":"1c51d1b02d3ea3b463e8ee8d74898739","parameters":[{"name":"activity","in":"path","description":"Faoliyat IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ActivityResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Faoliyat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/log-names":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Mavjud log nomlari","description":"Tizimdagi barcha log nomlari va ularning yozuvlar sonini olish","operationId":"7b71972a0dc5ca2e09a21e892594954d","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/subject-types":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Mavjud obyekt turlari","description":"Faoliyat loglarida qayd etilgan barcha obyekt turlari va ularning sonini olish","operationId":"1f180b6cb4ad940ec6f7a09f21fb05cc","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/timeline":{"get":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Faoliyat vaqt chizig'i (kunlik)","description":"Berilgan kun soni uchun kunlik faoliyat sonini grafik ko'rinishda olish","operationId":"627dd007b2fc01819cbbeb9eeac9a2ab","parameters":[{"name":"days","in":"query","description":"Necha kunlik ma'lumot (default: 30)","schema":{"type":"integer","default":30}},{"name":"log_name","in":"query","description":"Log nomi bo'yicha filtrlash","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/activities\/cleanup":{"delete":{"tags":["Agroteh Service","Faoliyat tarixi"],"summary":"Eski loglarni tozalash","description":"Berilgan kundan eski faoliyat loglarini tizimdan o'chirish (kamida 30 kun)","operationId":"df5a480073751db08bf603d5db198dd2","parameters":[{"name":"days","in":"query","description":"Necha kundan eski loglarni o'chirish (min: 30)","required":true,"schema":{"type":"integer","minimum":30}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/admin\/dashboard":{"get":{"tags":["Agroteh Service","Boshqaruv paneli"],"summary":"Dashboard statistikalari","operationId":"4d1ed083cd153b05cc9ca6a09e3f746f","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/admin\/dashboard\/charts\/invoices":{"get":{"tags":["Agroteh Service","Boshqaruv paneli"],"summary":"Hisob-fakturalar grafigi","operationId":"0a1ee84783c0738118a4572e776996a2","parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["week","month","year"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/admin\/dashboard\/charts\/registrations":{"get":{"tags":["Agroteh Service","Boshqaruv paneli"],"summary":"Ro'yxatga olishlar grafigi","operationId":"08d88d9dd2f51bf56d2a45f7778099db","parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["week","month","year"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/admin\/dashboard\/recent-activity":{"get":{"tags":["Agroteh Service","Boshqaruv paneli"],"summary":"So'nggi faoliyat","operationId":"01ff39f6e8f8ffd219a2ed68155b909f","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-markaz":{"get":{"tags":["Agroteh Service","AgroMarkaz sinxronlash"],"summary":"AgroMarkaz yozuvlari ro'yxati","description":"AgroMarkaz ga sinxronlangan texnikalar ro'yxati. Filtr: egasining INN, holat, region.","operationId":"9fbafb20151d28866582fc2d8dd5d2bc","parameters":[{"name":"owner_tin","in":"query","description":"Egasining INN\/STIR","schema":{"type":"string"}},{"name":"is_deleted","in":"query","description":"O'chirilgan yozuvlar: true\/false","schema":{"type":"boolean"}},{"name":"tech_type","in":"query","description":"Texnika turi","schema":{"type":"string"}},{"name":"region_soato","in":"query","description":"Viloyat SOATO kodi","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Ega nomi yoki INN bo'yicha qidiruv","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-markaz\/statistics":{"get":{"tags":["Agroteh Service","AgroMarkaz sinxronlash"],"summary":"AgroMarkaz sinxronlash statistikasi","description":"Sinxronlash holati bo'yicha statistika: jami yozuvlar, faol\/o'chirilgan, bugungi sinxronlashlar.","operationId":"1e86bcb3d355d4f20f153f4ae3fbec8e","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-markaz\/{agroMarkaz}":{"get":{"tags":["Agroteh Service","AgroMarkaz sinxronlash"],"summary":"AgroMarkaz yozuvi tafsilotlari","operationId":"14602f39f744110bd0cee97003b37978","parameters":[{"name":"agroMarkaz","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-markaz\/sync":{"post":{"tags":["Agroteh Service","AgroMarkaz sinxronlash"],"summary":"AgroMarkaz ga qo'lda sinxronlash","description":"Ro'yxatdagi texnikalarni AgroMarkaz tizimiga qo'lda yuborish. Barcha faol texnikalar qayta sinxronlanadi.","operationId":"4e2081fe15e89b49a5c844b475480fd5","responses":{"200":{"description":"Sinxronlash yakunlandi"},"502":{"description":"AgroMarkaz bilan ulanishda xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-portal":{"get":{"tags":["Agroteh Service","AgroPortal"],"summary":"AgroPortal vazifalari ro'yxati","description":"AgroPortal tizimidan kelgan barcha vazifalarni filtrlash va sahifalash bilan ko'rish","operationId":"1581f724f0d4b6081a4e1154445643bb","parameters":[{"name":"task_status","in":"query","description":"Vazifa holati (new, processing, completed, rejected, cancelled)","schema":{"type":"string"}},{"name":"service_type","in":"query","description":"Xizmat turi","schema":{"type":"string"}},{"name":"search","in":"query","description":"Qidiruv: vazifa ID, ariza beruvchi ismi\/PINFL, texnika modeli","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id","enum":["id","task_id","service_type","task_status","created_at","last_update"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AgroPortalTaskResource"}},"meta":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-portal\/statistics":{"get":{"tags":["Agroteh Service","AgroPortal"],"summary":"AgroPortal statistikasi","description":"Vazifalar soni holatlar bo'yicha, bugungi va umumiy statistika","operationId":"b09a48bc2855dfb10b46867d71d11918","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":150},"by_status":{"properties":{"new":{"type":"integer","example":30},"processing":{"type":"integer","example":25},"completed":{"type":"integer","example":80},"rejected":{"type":"integer","example":10},"cancelled":{"type":"integer","example":5}},"type":"object"},"today":{"type":"integer","example":12},"by_service_type":{"type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-portal\/{id}":{"get":{"tags":["Agroteh Service","AgroPortal"],"summary":"AgroPortal vazifasi ma'lumotlari","description":"Bitta AgroPortal vazifasining to'liq ma'lumotlarini ko'rish","operationId":"a3513515c6d4a452e2bd0f8422c81ad5","parameters":[{"name":"id","in":"path","description":"Vazifa ID si","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AgroPortalTaskResource"}},"type":"object"}}}},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-portal\/webhook":{"post":{"tags":["Agroteh Service","AgroPortal"],"summary":"AgroPortal dan so'rov qabul qilish (webhook)","description":"AgroPortal tizimidan keluvchi yangi vazifalarni qabul qilib saqlash. webhook.secret middleware bilan himoyalangan.","operationId":"7ffc9dd5129e3df3eda4d4ac8af32704","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id","service_type","task_status"],"properties":{"task_id":{"type":"string","example":"AP-2024-12345"},"service_type":{"type":"string","example":"registration"},"task_status":{"type":"string","example":"new"},"payment_status":{"type":"string","example":"pending","nullable":true},"payment_amount":{"type":"string","example":"150000","nullable":true},"payment_date":{"type":"string","format":"date-time","nullable":true},"is_represent":{"type":"integer","example":0},"applicant_pinfl":{"type":"string","example":"12345678901234","nullable":true},"applicant_name":{"type":"string","example":"Aliyev Vohid Baxtiyorovich","nullable":true},"passport_id":{"type":"string","example":"AA1234567","nullable":true},"birth_date":{"type":"string","example":"1990-01-15","nullable":true},"tech_name":{"type":"string","example":"Traktor","nullable":true},"tech_model":{"type":"string","example":"MTZ-82","nullable":true},"tech_year":{"type":"string","example":"2020","nullable":true},"tech_engine":{"type":"string","example":"D245.9E2A","nullable":true},"tech_factory":{"type":"string","example":"BF1234567","nullable":true},"tech_corpus":{"type":"string","example":"CP1234567","nullable":true},"region_name":{"type":"string","example":"Toshkent viloyati","nullable":true},"region_soato":{"type":"string","example":"1703","nullable":true},"district_name":{"type":"string","example":"Bektemir tumani","nullable":true},"district_soato":{"type":"string","example":"1703204","nullable":true},"tech_passport":{"type":"string","example":"TP1234567","nullable":true},"phone_number":{"type":"string","example":"+998901234567","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Qabul qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Vazifa qabul qilindi"},"data":{"$ref":"#\/components\/schemas\/AgroPortalTaskResource"}},"type":"object"}}}},"200":{"description":"Allaqachon mavjud"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/agroin\/letters":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"Agroin xatlar ro'yxati","description":"Agro.uz tizimidan kelgan barcha xatlar (so'rovlar) ro'yxatini olish. Mijoz INN, foydalanuvchi INN, DRB, holat, transport vosita turi, sana oralig'i va qidiruv so'zi bo'yicha filtrlash mumkin. Sahifalash qo'llab-quvvatlanadi.","operationId":"119468f37f597b5af0c71b4842d5ddeb","parameters":[{"name":"customer_tin","in":"query","description":"Mijoz INN\/PINFL bo'yicha filtrlash","schema":{"type":"string"}},{"name":"user_tin","in":"query","description":"Foydalanuvchi INN bo'yicha filtrlash","schema":{"type":"string"}},{"name":"drb","in":"query","description":"Davlat ro'yxat belgisi (DRB) bo'yicha filtrlash","schema":{"type":"string"}},{"name":"status","in":"query","description":"Xat holati bo'yicha filtrlash","schema":{"type":"string","enum":["pending","success","error"]}},{"name":"vehicle_type","in":"query","description":"Transport vosita turi: 0-tirkama emas, 1-tirkama","schema":{"type":"string","enum":["0","1"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"INN, DRB yoki guvohnoma bo'yicha qidirish","schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Xatlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AgroinLetterResponse"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/statistics":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"Agroin statistikasi","description":"Agro.uz xatlari bo'yicha umumiy statistikani olish: holat bo'yicha guruhlangan hisoblar. Sana oralig'i bo'yicha filtrlash mumkin.","operationId":"616f654514e3593606b8394c8262b9c1","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AgroinStatisticsResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/letters\/{id}":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"Bitta xat batafsil ma'lumotlari","description":"Agro.uz tizimidan kelgan bitta xatning to'liq ma'lumotlarini olish, jumladan bog'langan foydalanuvchi ma'lumotlari.","operationId":"21916d4accebab6465cd93a8ec52e448","parameters":[{"name":"id","in":"path","description":"Xat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Xat ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AgroinLetterResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Xat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/letter":{"post":{"tags":["Agroteh Service","Agroin"],"summary":"Uzagroin xat so'rovi (webhook)","description":"Agro.uz tizimidan yangi xat (so'rov) kelganda avtomatik chaqiriladigan webhook endpoint. Transport vositaning ro'yxatga olish holati tekshiriladi va natija qaytariladi. Mijoz turi (jismoniy\/yuridik), INN, DRB va boshqa parametrlar yuboriladi.","operationId":"df21686f79b04dc46604f912d0c6ea09","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["appealId","customer_tin","customer_type"],"properties":{"appealId":{"description":"Agro.uz tizimidagi murojaat ID","type":"integer","example":1},"tex_drb":{"description":"Davlat ro'yxat belgisi (DRB)","type":"string","example":"01 A 123 AA"},"p_number":{"description":"Texnik pasport raqami","type":"string","example":"AA1234567"},"vehicle_type":{"description":"Transport vosita turi: 0-tirkama emas, 1-tirkama","type":"string","example":"0","enum":["0","1"]},"customer_type":{"description":"Mijoz turi","type":"string","example":"physical","enum":["legal","physical"]},"customer_tin":{"description":"Mijoz INN\/PINFL","type":"string","example":"123456789"},"user_tin":{"description":"Foydalanuvchi INN","type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Xat muvaffaqiyatli qayta ishlandi","content":{"application\/json":{"schema":{"description":"Agro.uz tizimiga qaytariladigan javob","type":"object"}}}}}}},"\/api\/v1\/agroin\/download\/{appealId}\/{letterId}":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"PDF faylni yuklab olish","description":"Agro.uz xatiga tegishli javob hujjatini PDF formatida yuklab olish. Murojaat ID va xat ID orqali aniqlanadi.","operationId":"6292ce9c2cedb4b9bcb12954b2396df2","parameters":[{"name":"appealId","in":"path","description":"Agro.uz murojaat ID raqami","required":true,"schema":{"type":"integer"}},{"name":"letterId","in":"path","description":"Xat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"PDF fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"PDF fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/appeals\/{appealId}\/letters":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"Murojaat bo'yicha xatlar","description":"Bitta agro.uz murojaatiga tegishli barcha xatlar ro'yxatini olish. Bitta murojaat bo'yicha bir nechta xat bo'lishi mumkin.","operationId":"0747a037f0b51ff425e650a147db7a44","parameters":[{"name":"appealId","in":"path","description":"Agro.uz murojaat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Xatlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AgroinLetterResponse"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/customer\/{tin}\/history":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"Mijoz xatlari tarixi","description":"Bitta mijozning barcha agro.uz xatlari tarixini ko'rish. INN\/PINFL orqali qidiriladi. Xatlar ro'yxati va umumiy ko'rsatkichlar (jami, muvaffaqiyatli, xatolik, umumiy summa) qaytariladi.","operationId":"6c542ea0b360fa11eb9fa66d4f56c91a","parameters":[{"name":"tin","in":"path","description":"Mijoz INN yoki PINFL","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Mijoz tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AgroinCustomerHistoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroin\/drb\/{drb}\/history":{"get":{"tags":["Agroteh Service","Agroin"],"summary":"DRB bo'yicha xatlar tarixi","description":"Bitta davlat ro'yxat belgisi (DRB) bo'yicha barcha agro.uz xatlari tarixini ko'rish. Transport vositaning agro.uz bilan barcha o'zaro aloqalari ko'rsatiladi.","operationId":"ba89a91463a500bda6cdbfa58deeac07","parameters":[{"name":"drb","in":"path","description":"Davlat ro'yxat belgisi (DRB)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"DRB tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AgroinLetterResponse"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxalar ro'yxati","description":"Barcha zaxira nusxalarni turi, holati va sanasi bo'yicha filtrlash imkoniyati bilan olish","operationId":"ce71f19b1a30619f62100ce8769505c1","parameters":[{"name":"type","in":"query","schema":{"type":"string","enum":["full","database","files"]}},{"name":"status","in":"query","schema":{"type":"string","enum":["pending","running","completed","failed"]}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Yangi zaxira nusxa yaratish","description":"Ma'lumotlar bazasi yoki fayllarning yangi zaxira nusxasini yaratish","operationId":"21159d5c22d688ff78173c87c78cadd8","requestBody":{"content":{"application\/json":{"schema":{"properties":{"type":{"type":"string","example":"database","default":"database","enum":["full","database","files"]},"name":{"type":"string","example":"backup_2025-01-15"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/statistics":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxalar statistikasi","description":"Zaxira nusxalar soni, hajmi va holatlari bo'yicha umumiy statistikani olish","operationId":"89b4b175d164b143b9a13d557ec0d957","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/disk-usage":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Disk foydalanish statistikasi","description":"Diskdagi umumiy joy, bo'sh joy va zaxira nusxalar hajmi haqida ma'lumot","operationId":"492cf1db330214b05f3aedcd1c759bb5","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/{backup}":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxa ma'lumotlari","description":"Bitta zaxira nusxa haqida to'liq ma'lumot olish","operationId":"ff9279cf5779c69a2cc4bf927b869f01","parameters":[{"name":"backup","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zaxira nusxa topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxani o'chirish","description":"Zaxira nusxa yozuvi va fizik faylini o'chirish","operationId":"9633eb83e3fb3a34c83b8a0593b99f3c","parameters":[{"name":"backup","in":"path","description":"Zaxira nusxa IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zaxira nusxa topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/{backup}\/download":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxani yuklab olish","description":"Yakunlangan zaxira nusxa faylini yuklab olish","operationId":"1dd70d9ad6b299396cb35c4e36e05b2a","parameters":[{"name":"backup","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fayl"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zaxira fayli topilmadi"},"422":{"description":"Faqat yakunlangan zaxira nusxalarni yuklab olish mumkin"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/cleanup":{"delete":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Eski zaxira nusxalarni tozalash","description":"Berilgan kundan eski zaxira nusxalarni tozalash (oxirgi N tasini saqlash imkoniyati bilan)","operationId":"aae775507676169c303b58d1ff5f4589","parameters":[{"name":"days","in":"query","description":"Necha kundan eski nusxalarni o'chirish (min: 7)","required":true,"schema":{"type":"integer","minimum":7}},{"name":"keep_last","in":"query","description":"Oxirgi nechta nusxani saqlash","schema":{"type":"integer","default":5}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/backups\/types":{"get":{"tags":["Agroteh Service","Zaxira nusxalar"],"summary":"Zaxira nusxa turlari","description":"Mavjud zaxira nusxa turlarini olish (full, database, files)","operationId":"ed60f5900f5e11952b8d93266bdf1200","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/calendar\/list":{"get":{"tags":["Agroteh Service","Kalendar"],"summary":"Kalendar sanalari ro'yxati","description":"Kalendar sanalarini olish. Kun turi va sana oralig'i bo'yicha filtrlash mumkin. Sukut bo'yicha barcha sanalar qaytariladi.","operationId":"cb66b9aa941ecf131f3d8cfdb71e6269","parameters":[{"name":"day_status","in":"query","description":"Kun turi bo'yicha filtrlash (1=ish kuni, 2=dam olish kuni)","required":false,"schema":{"type":"integer","enum":[1,2]}},{"name":"from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2025-01-01"}},{"name":"till","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2025-12-31"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Kalendar sanalari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CalendarResource"}},"message":{"type":"string","example":"Muvaffaqiyatli"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/calendar\/edit\/{id}":{"get":{"tags":["Agroteh Service","Kalendar"],"summary":"Kalendar sanasi ma'lumotlari","description":"Bitta kalendar sanasining to'liq ma'lumotlarini olish.","operationId":"f5c8e487acfc30460adbbe2f03467c5a","parameters":[{"name":"id","in":"path","description":"Kalendar yozuvi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Kalendar sanasi ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalendarResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Kalendar sanasi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Kalendar sanasi topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/calendar\/update\/{id}":{"post":{"tags":["Agroteh Service","Kalendar"],"summary":"Kalendar sanasini yangilash","description":"Kalendar sanasining kun turini o'zgartirish. \"on\" qiymati dam olish kuni, boshqa qiymat ish kuni deb belgilanadi.","operationId":"4529813dafc46565635b0c4e7313d2aa","parameters":[{"name":"id","in":"path","description":"Kalendar yozuvi ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"type":{"description":"Kun turi (\"on\" = dam olish kuni, boshqa qiymat = ish kuni)","type":"string","example":"on","enum":["on","off"]}},"type":"object"}}}},"responses":{"200":{"description":"Kalendar sanasi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalendarResource"},"message":{"type":"string","example":"Kalendar sanasi muvaffaqiyatli yangilandi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Kalendar sanasi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Kalendar sanasi topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/colors":{"get":{"tags":["Agroteh Service","Ranglar"],"summary":"Ranglar ro'yxati","description":"Barcha ranglar ro'yxatini olish. Qidiruv, faollik filtri va sahifalash mavjud. `per_page=-1` bo'lsa barcha ranglar qaytadi (dropdown uchun).","operationId":"218c750a83d5d604fc1103e87bbdad3b","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string","example":"Qora"}},{"name":"is_active","in":"query","description":"Faollik bo'yicha filtr","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"name","enum":["id","name","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"asc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Ranglar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColorResponse"}},"meta":{"description":"Sahifalash (per_page=-1 da yo'q)","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Ranglar"],"summary":"Yangi rang qo'shish","description":"Yangi texnika rangini yaratish. Nom majburiy, kod va HEX ixtiyoriy.","operationId":"fab6252bc82ed64d0ba177ea2b957bc7","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Rang nomi","type":"string","example":"Qora","maxLength":100},"code":{"description":"Rang kodi (ixtiyoriy)","type":"string","example":"BLACK","nullable":true,"maxLength":20},"hex_code":{"description":"HEX rang kodi","type":"string","example":"#000000","nullable":true,"maxLength":7},"is_active":{"description":"Faollik holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Rang muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rang muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/ColorResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/colors\/{color}":{"get":{"tags":["Agroteh Service","Ranglar"],"summary":"Rang ma'lumotlari","description":"Bitta rangning to'liq ma'lumotlarini olish.","operationId":"dfb5e7ef570ab86c2b2e6e81c8300c4e","parameters":[{"name":"color","in":"path","description":"Rang ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rang ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ColorResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rang topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Ranglar"],"summary":"Rangni yangilash","description":"Mavjud rang ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"f0dbb8494f198fd0029a575363c853e8","parameters":[{"name":"color","in":"path","description":"Rang ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Qora","maxLength":100},"code":{"type":"string","example":"BLACK","maxLength":20},"hex_code":{"type":"string","example":"#000000","maxLength":7},"is_active":{"type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Rang yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rang muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/ColorResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rang topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Ranglar"],"summary":"Rangni o'chirish","description":"Rangni o'chirish (soft delete). Agar texnikalarda ishlatilgan bo'lsa ham o'chirish mumkin \u2014 nofaol qilish afzalroq.","operationId":"44e3ee9e0dc9113b07ac5b956d857204","parameters":[{"name":"color","in":"path","description":"Rang ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rang o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rang muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rang topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/colors\/{color}\/toggle-active":{"patch":{"tags":["Agroteh Service","Ranglar"],"summary":"Rang holatini almashtirish","description":"Rangni faol\/nofaol qilish. Nofaol ranglar dropdown da ko'rinmaydi.","operationId":"706b365eea814b2cf7195772bd686e24","parameters":[{"name":"color","in":"path","description":"Rang ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rang holati o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/ColorResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rang topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/list":{"get":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Faoliyat turlari ro'yxati","description":"Barcha mijoz faoliyat turlarini olish. Nom bo'yicha qidiruv mumkin. Ro'yxat ID bo'yicha teskari tartibda qaytariladi.","operationId":"4b40e01deb072597b11d994a3cd01810","parameters":[{"name":"search","in":"query","description":"Faoliyat turi nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Faoliyat turlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CustomerActivityResource"}},"message":{"type":"string","example":"Muvaffaqiyatli"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/add":{"get":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Faoliyat turi qo'shish formasi","description":"Yangi faoliyat turi qo'shish uchun forma ma'lumotlarini olish.","operationId":"1c702aa2e8d45fec8e610a4625bb301c","responses":{"200":{"description":"Forma ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Forma sarlavhasi","type":"string","example":"Faoliyat turi qo'shish"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/store":{"post":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Yangi faoliyat turi qo'shish","description":"Tizimga yangi mijoz faoliyat turini qo'shish. Nom majburiy, IFUT kodi ixtiyoriy.","operationId":"3964445d3608012e79f37ebf64e3b89c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Faoliyat turi nomi","type":"string","example":"Qishloq xo'jaligi","maxLength":255},"code":{"description":"IFUT raqami","type":"string","example":"01110","nullable":true,"maxLength":50}},"type":"object"}}}},"responses":{"201":{"description":"Faoliyat turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerActivityResource"},"message":{"type":"string","example":"Faoliyat turi yaratildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/edit\/{customerActivity}":{"get":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Faoliyat turi ma'lumotlari","description":"Bitta faoliyat turining to'liq ma'lumotlarini olish.","operationId":"b744d6ee9d528202387a27dde54e676a","parameters":[{"name":"customerActivity","in":"path","description":"Faoliyat turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Faoliyat turi ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerActivityResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Faoliyat turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faoliyat turi topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/update":{"post":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Faoliyat turini yangilash","description":"Mavjud faoliyat turi ma'lumotlarini tahrirlash. Request body'da ID yuborilishi shart.","operationId":"ac870eb8e2a671e406a716f8efc727f8","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["id","name"],"properties":{"id":{"description":"Faoliyat turi ID raqami","type":"integer","example":1},"name":{"description":"Faoliyat turi nomi","type":"string","example":"Qishloq xo'jaligi","maxLength":255},"code":{"description":"IFUT raqami","type":"string","example":"01110","nullable":true,"maxLength":50}},"type":"object"}}}},"responses":{"200":{"description":"Faoliyat turi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerActivityResource"},"message":{"type":"string","example":"Faoliyat turi yangilandi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Faoliyat turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faoliyat turi topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer\/activity\/delete":{"post":{"tags":["Agroteh Service","Mijoz faoliyat turlari"],"summary":"Faoliyat turini o'chirish","description":"Faoliyat turini tizimdan o'chirish. Request body'da ID yuborilishi shart.","operationId":"586756670b5b6e9bac2f6a91a532886a","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"description":"O'chiriladigan faoliyat turi ID raqami","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Faoliyat turi muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Faoliyat turi o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer-categories":{"get":{"tags":["Agroteh Service","Mijoz kategoriyalari"],"summary":"Mijoz kategoriyalari ro'yxati","description":"Barcha mijoz kategoriyalarini qidirish va turi bo'yicha filtrlash imkoniyati bilan olish","operationId":"fee8d9ed1b86aa6a4e7f8e8a293c76f5","parameters":[{"name":"search","in":"query","schema":{"type":"string"}},{"name":"for_type","in":"query","description":"Mijoz turi bo'yicha filter (null bo'lsa ikkalasi uchun ham ko'rinadi)","schema":{"type":"string","enum":["physical","legal"]}},{"name":"per_page","in":"query","schema":{"type":"integer","default":-1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Mijoz kategoriyalari"],"summary":"Yangi mijoz kategoriyasi qo'shish","description":"Yangi mijoz kategoriyasi yaratish","operationId":"f23f737ed99496c12f0df5f04542be4f","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Fermer xo'jaligi"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customer-categories\/{customerCategory}":{"get":{"tags":["Agroteh Service","Mijoz kategoriyalari"],"summary":"Kategoriya ma'lumotlari","description":"Bitta mijoz kategoriyasi haqida ma'lumot olish","operationId":"399a24a2f36365acbb4764fbf749d613","parameters":[{"name":"customerCategory","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Mijoz kategoriyalari"],"summary":"Kategoriyani yangilash","description":"Mijoz kategoriyasi ma'lumotlarini yangilash","operationId":"27ae81f68f5fe3c706c7eaafbff42476","parameters":[{"name":"customerCategory","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Fermer xo'jaligi"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Kategoriya topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Mijoz kategoriyalari"],"summary":"Kategoriyani o'chirish","description":"Mijoz kategoriyasini o'chirish (faqat bo'sh kategoriyalarni o'chirish mumkin)","operationId":"e33116a234b0f3490d709e40fb7f1fe4","parameters":[{"name":"customerCategory","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Kategoriya topilmadi"},"422":{"description":"Kategoriyaga tegishli mijozlar mavjud"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozlar ro'yxati","description":"Barcha mijozlar ro'yxatini filtrlash imkoniyati bilan olish. Ism, PINFL, INN, pasport, telefon bo'yicha qidirish, mijoz turi (jismoniy\/yuridik), holat (faol\/likvidatsiya\/nofaol), viloyat\/tuman, sana oralig'i bo'yicha filtrlash mumkin. Standart sahifalash qo'llaniladi (per_page=-1 barcha yozuvlarni qaytaradi). Mijozlar ro'yxati sahifasi yoki texnika ro'yxatga olish formasidagi tanlash uchun ishlatiladi.","operationId":"4446e25a8cf802d05268d8b26e3df4af","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa barcha yozuvlar qaytadi, max 1000)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidirish \u2014 ism\/familiya, PINFL, INN, pasport (seriya+raqam) yoki telefon raqami bo'yicha qidiradi","schema":{"type":"string"}},{"name":"type","in":"query","description":"Mijoz turi \u2014 jismoniy yoki yuridik shaxs","schema":{"type":"string","enum":["physical","legal"]}},{"name":"status","in":"query","description":"Mijoz holati","schema":{"type":"string","enum":["active","liquidated","inactive"]}},{"name":"pinfl","in":"query","description":"PINFL bo'yicha aniq qidirish (14 ta raqam)","schema":{"type":"string"}},{"name":"inn","in":"query","description":"INN bo'yicha aniq qidirish (9 ta raqam)","schema":{"type":"string"}},{"name":"passport","in":"query","description":"Pasport bo'yicha aniq qidirish (masalan: AA1234567)","schema":{"type":"string"}},{"name":"category_id","in":"query","description":"Kategoriya ID raqami (Fermer, Dehqon va h.k.)","schema":{"type":"integer"}},{"name":"region_id","in":"query","description":"Viloyat ID raqami (tbl_states jadvalidan)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman\/shahar ID raqami (tbl_cities jadvalidan)","schema":{"type":"integer"}},{"name":"ownership_form_id","in":"query","description":"Mulkchilik shakli ID raqami","schema":{"type":"integer"}},{"name":"has_vehicles","in":"query","description":"Faqat texnikasi bo'lgan mijozlarni ko'rsatish","schema":{"type":"boolean"}},{"name":"from_date","in":"query","description":"Ro'yxatga olingan sanadan boshlab (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"to_date","in":"query","description":"Ro'yxatga olingan sanagacha (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","enum":["id","name","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi \u2014 o'sish yoki kamayish","schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Mijozlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CustomerResource"}},"meta":{"properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":10},"per_page":{"type":"integer","example":15},"total":{"type":"integer","example":150}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token noto'g'ri yoki muddati o'tgan"},"422":{"description":"Validatsiya xatosi \u2014 filtrlash parametrlari noto'g'ri"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Mijozlar"],"summary":"Yangi mijoz yaratish","description":"Yangi mijozni (jismoniy yoki yuridik shaxs) tizimga ro'yxatga olish. Jismoniy shaxs uchun ism, familiya, PINFL, pasport ma'lumotlari kiritiladi. Yuridik shaxs uchun tashkilot nomi, INN, manzil kiritiladi. Kategoriyalar (Fermer, Dehqon va h.k.) massiv sifatida ko'rsatilishi mumkin. Yaratilgan mijozga keyinchalik texnika biriktirish mumkin.","operationId":"4000324e6e48b657b38514893267ba99","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["type","name"],"properties":{"type":{"description":"Mijoz turi \u2014 jismoniy shaxs yoki yuridik shaxs (tashkilot)","type":"string","example":"physical","enum":["physical","legal"]},"name":{"description":"Mijoz ismi (jismoniy shaxs) yoki tashkilot nomi (yuridik shaxs)","type":"string","example":"Jasur"},"lastname":{"description":"Familiyasi (faqat jismoniy shaxs uchun)","type":"string","example":"Abdullayev"},"middlename":{"description":"Otasining ismi (faqat jismoniy shaxs uchun)","type":"string","example":"Kamoliddin o'g'li"},"pinfl":{"description":"PINFL \u2014 shaxsiy identifikatsiya raqami (14 ta raqam, faqat jismoniy shaxs)","type":"string","example":"12345678901234"},"inn":{"description":"INN \u2014 soliq to'lovchi identifikatsiya raqami (9 ta raqam, asosan yuridik shaxs)","type":"string","example":"123456789"},"id_number":{"description":"Qo'shimcha identifikatsiya raqami","type":"string","example":"ID-001234"},"passport_series":{"description":"Pasport seriyasi (2 ta harf)","type":"string","example":"AA"},"passport_number":{"description":"Pasport raqami (7 ta raqam)","type":"string","example":"1234567"},"passport_given_by":{"description":"Pasport kim tomonidan berilgan \u2014 IIB nomi","type":"string","example":"Toshkent sh. IIB"},"passport_given_date":{"description":"Pasport berilgan sana","type":"string","format":"date","example":"2020-01-15"},"birth_date":{"description":"Tug'ilgan sana","type":"string","format":"date","example":"1990-05-20"},"mobile":{"description":"Telefon raqami (998 bilan boshlanishi kerak)","type":"string","example":"+998901234567"},"email":{"description":"Elektron pochta manzili","type":"string","format":"email","example":"abdullayev@example.com"},"region_id":{"description":"Viloyat ID raqami (tbl_states jadvalidan)","type":"integer","example":1},"district_id":{"description":"Tuman\/shahar ID raqami (tbl_cities jadvalidan)","type":"integer","example":10},"birthplace_id":{"description":"Tug'ilgan joy \u2014 tuman ID raqami (tbl_cities jadvalidan)","type":"integer","example":5},"address":{"description":"To'liq manzil","type":"string","example":"Toshkent sh., Chilonzor tumani"},"residence":{"description":"Yashash joyi turi (0=shahar, 1=qishloq)","type":"integer","example":0},"category_ids":{"description":"Kategoriya ID lari massivi (customer_categories jadvalidan) \u2014 Fermer, Dehqon va h.k.","type":"array","items":{"type":"integer"},"example":"[1, 2, 3]"},"ownership_form_id":{"description":"Mulkchilik shakli ID raqami (ownership_forms jadvalidan)","type":"integer","example":1},"filial_of":{"description":"Asosiy tashkilot ID raqami (customers jadvalidan) \u2014 filial uchun","type":"integer","example":100},"status":{"description":"Holat (faqat yuridik shaxs uchun: 0=nofaol, 1=faol)","type":"integer","example":1}},"type":"object"}}}},"responses":{"201":{"description":"Mijoz muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 majburiy maydonlar to'ldirilmagan yoki noto'g'ri formatda","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/statistics":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozlar statistikasi","description":"Mijozlar bo'yicha umumiy statistika \u2014 jami soni, tur bo'yicha (jismoniy\/yuridik), holat bo'yicha (faol\/likvidatsiya\/nofaol), texnikasi borlar soni, kategoriya bo'yicha taqsimot, viloyat bo'yicha taqsimot, bugungi va shu oydagi yangi mijozlar soni. Boshqaruv paneli (dashboard) uchun ishlatiladi. Viloyat yoki tuman bo'yicha filtrlash mumkin.","operationId":"dacc6f80018ec4b01a2a4aac464ffda3","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami \u2014 faqat shu viloyat bo'yicha statistika","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID raqami \u2014 faqat shu tuman bo'yicha statistika","schema":{"type":"integer"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"description":"Jami mijozlar soni","type":"integer","example":25000},"by_type":{"description":"Tur bo'yicha taqsimot","properties":{"physical":{"description":"Jismoniy shaxslar","type":"integer","example":20000},"legal":{"description":"Yuridik shaxslar","type":"integer","example":5000}},"type":"object"},"by_status":{"description":"Holat bo'yicha taqsimot","properties":{"active":{"description":"Faol","type":"integer","example":23000},"liquidated":{"description":"Likvidatsiya qilingan","type":"integer","example":1500},"inactive":{"description":"Nofaol","type":"integer","example":500}},"type":"object"},"with_vehicles":{"description":"Texnikasi bo'lgan mijozlar","type":"integer","example":18000},"by_category":{"description":"Kategoriya bo'yicha taqsimot","type":"object"},"by_region":{"description":"Viloyat bo'yicha taqsimot","type":"object"},"today_created":{"description":"Bugun yaratilgan","type":"integer","example":15},"this_month":{"description":"Shu oyda yaratilgan","type":"integer","example":350}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijoz ma'lumotlari","description":"Bitta mijoz haqida to'liq ma'lumot \u2014 shaxsiy ma'lumotlar, pasport, aloqa, lokatsiya, kategoriya, mulkchilik shakli, MIB qarzdorlik holati. Shuningdek, transport vositalari, ro'yxatga olishlar, texnik ko'riklar, haydovchilik guvohnomalari, TM-1 va hisob-fakturalar ham yuklanadi. Mijozning batafsil sahifasini ko'rsatish uchun ishlatiladi.","operationId":"239ca810caae47dc2e02fd10bfb19130","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijoz ma'lumotlarini yangilash","description":"Mavjud mijoz ma'lumotlarini yangilash. Faqat uzatilgan maydonlar yangilanadi (partial update). Ism, kontakt ma'lumotlari, manzil, kategoriyalar, mulkchilik shakli va boshqa maydonlarni o'zgartirish mumkin.","operationId":"65e716536c99a8ccc69bd8c030e844f2","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Mijoz ismi yoki tashkilot nomi","type":"string","example":"Jasur"},"lastname":{"description":"Familiyasi","type":"string","example":"Abdullayev"},"middlename":{"description":"Otasining ismi","type":"string","example":"Kamoliddin o'g'li"},"mobile":{"description":"Telefon raqami (998 bilan boshlanishi kerak)","type":"string","example":"+998901234567"},"email":{"description":"Elektron pochta manzili","type":"string","format":"email","example":"abdullayev@example.com"},"address":{"description":"To'liq manzil","type":"string","example":"Toshkent sh., Chilonzor tumani"},"region_id":{"description":"Viloyat ID raqami (tbl_states jadvalidan)","type":"integer","example":1},"district_id":{"description":"Tuman\/shahar ID raqami (tbl_cities jadvalidan)","type":"integer","example":10},"category_ids":{"description":"Kategoriya ID lari massivi (customer_categories jadvalidan)","type":"array","items":{"type":"integer"},"example":"[1, 2, 3]"},"ownership_form_id":{"description":"Mulkchilik shakli ID raqami (ownership_forms jadvalidan)","type":"integer","example":1},"residence":{"description":"Yashash joyi turi (0=shahar, 1=qishloq)","type":"integer","example":0},"filial_of":{"description":"Asosiy tashkilot ID raqami (customers jadvalidan)","type":"integer","example":100},"status":{"description":"Holat (0=nofaol, 1=faol)","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Mijoz ma'lumotlari muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz ma'lumotlari muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozni o'chirish","description":"Mijozni tizimdan o'chirish (soft delete). O'chirilgan mijoz keyinchalik tiklanishi mumkin. Faqat tegishli ruxsati bo'lgan foydalanuvchi o'chira oladi. Agar mijozning faol texnikalari bo'lsa, o'chirishdan oldin ularni boshqa mijozga o'tkazish tavsiya etiladi.","operationId":"052123822971c729fc98e6af6beb3c04","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/pinfl\/{pinfl}":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"PINFL bo'yicha qidirish","description":"Mijozni PINFL (Shaxsiy Identifikatsiya Raqami) bo'yicha topish. Jismoniy shaxslarni aniqlash uchun ishlatiladi. PINFL 14 ta raqamdan iborat bo'ladi. Topilgan mijozning transport vositalari ham qaytariladi.","operationId":"e8f8d3f72201c40bf4062860e812e039","parameters":[{"name":"pinfl","in":"path","description":"PINFL \u2014 14 ta raqamdan iborat shaxsiy identifikatsiya raqami","required":true,"schema":{"type":"string","example":"12345678901234"}}],"responses":{"200":{"description":"Mijoz topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Berilgan PINFL bo'yicha mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/inn\/{inn}":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"INN bo'yicha qidirish","description":"Mijozni INN (Identifikatsiya Nomer Nalogoplatelshchika) bo'yicha topish. Asosan yuridik shaxslarni aniqlash uchun ishlatiladi. INN 9 ta raqamdan iborat. Topilgan mijozning transport vositalari ham qaytariladi.","operationId":"3760442a25b96e1476099348549dcad1","parameters":[{"name":"inn","in":"path","description":"INN \u2014 9 ta raqamdan iborat soliq to'lovchi identifikatsiya raqami","required":true,"schema":{"type":"string","example":"123456789"}}],"responses":{"200":{"description":"Mijoz topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Berilgan INN bo'yicha mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/search\/{identifier}":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Identifikator bo'yicha qidirish","description":"Mijozni PINFL, INN yoki ID raqam bo'yicha topish \u2014 har qanday identifikator turi bo'yicha universal qidiruv. Avval PINFL, keyin INN, keyin ID raqam bo'yicha tekshiriladi. Forma ichidagi tez qidirish uchun ishlatiladi.","operationId":"dca42ccb82093d55aa17c3d97f2ec69b","parameters":[{"name":"identifier","in":"path","description":"PINFL (14 raqam), INN (9 raqam) yoki boshqa ID raqam","required":true,"schema":{"type":"string","example":"12345678901234"}}],"responses":{"200":{"description":"Mijoz topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Berilgan identifikator bo'yicha mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/liquidate":{"post":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozni likvidatsiya qilish","description":"Yuridik shaxsni likvidatsiya qilish \u2014 tashkilot faoliyatini to'xtatish. Likvidatsiya qilingan mijozning texnikalari bilan operatsiyalar cheklangan bo'lishi mumkin. Agar mijoz allaqachon likvidatsiya qilingan bo'lsa, 422 xatolik qaytariladi.","operationId":"c8c3e31a950cfdd88928752436053cbe","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz muvaffaqiyatli likvidatsiya qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz likvidatsiya qilindi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Mijoz allaqachon likvidatsiya qilingan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz allaqachon likvidatsiya qilingan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/activate":{"post":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozni faollashtirish","description":"Nofaol yoki likvidatsiya qilingan mijozni qayta faollashtirish. Faollashtirilgan mijoz bilan barcha operatsiyalarni bajarish mumkin bo'ladi. Agar mijoz allaqachon faol bo'lsa, 422 xatolik qaytariladi.","operationId":"180240401d907d59f06de90c76007776","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz muvaffaqiyatli faollashtirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Mijoz allaqachon faol","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz allaqachon faol"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/vehicles":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozning transport vositalari","description":"Mijozga tegishli barcha transport vositalar ro'yxati. Ro'yxatga olish holati bo'yicha filtrlash mumkin. Jami va faol texnikalar soni ham qaytariladi. Mijozning texnikalar sahifasini ko'rsatish uchun ishlatiladi.","operationId":"e35b73f33368b5269c2512d931aa500c","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"status","in":"query","description":"Texnika ro'yxatga olish holati bo'yicha filtrlash","schema":{"type":"string","enum":["regged","unregged"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Mijoz texnikalari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"$ref":"#\/components\/schemas\/CustomerResource"},"vehicles":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleResource"}},"total_count":{"description":"Jami texnikalar soni","type":"integer","example":5},"active_count":{"description":"Faol (ro'yxatdan o'tgan) texnikalar soni","type":"integer","example":3}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/add-category":{"post":{"tags":["Agroteh Service","Mijozlar"],"summary":"Kategoriya qo'shish","description":"Mijozga yangi kategoriya qo'shish (masalan: Fermer, Dehqon, Xo'jalik va h.k.). Bitta mijozning bir nechta kategoriyasi bo'lishi mumkin. Agar berilgan kategoriya allaqachon mijozda mavjud bo'lsa, 422 xatolik qaytariladi.","operationId":"c688881069c0afc1dbe2d39f4f3d8fdb","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["category_id"],"properties":{"category_id":{"description":"Kategoriya ID raqami (customer_categories jadvalidan)","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Kategoriya muvaffaqiyatli qo'shildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Kategoriya qo'shildi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Kategoriya allaqachon mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu kategoriya allaqachon mavjud"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/remove-category\/{categoryId}":{"delete":{"tags":["Agroteh Service","Mijozlar"],"summary":"Kategoriya olib tashlash","description":"Mijozdan mavjud kategoriyani olib tashlash. Olib tashlangan kategoriya boshqa mijozlarga ta'sir qilmaydi.","operationId":"c36339120ad4deecac89e6082a9166a3","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"categoryId","in":"path","description":"Olib tashlanadigan kategoriya ID raqami","required":true,"schema":{"type":"integer","example":2}}],"responses":{"200":{"description":"Kategoriya muvaffaqiyatli olib tashlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Kategoriya olib tashlandi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/invoices":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijozning hisob-fakturalari","description":"Mijozga tegishli barcha hisob-fakturalar ro'yxati. To'lov holati bo'yicha filtrlash mumkin. Umumiy statistika ham qaytariladi \u2014 jami, kutilayotgan, to'langan hisob-fakturalar soni va summalari. Summalar tiyinda saqlanadi (1 so'm = 100 tiyin).","operationId":"a5aa9967001dcfa577a6ea6561078531","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"status","in":"query","description":"To'lov holati bo'yicha filtrlash (MUHIM: DB da state columni ishlatiladi)","schema":{"type":"string","enum":["pending","paid","cancelled"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Hisob-fakturalar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"$ref":"#\/components\/schemas\/CustomerResource"},"invoices":{"description":"Hisob-fakturalar ro'yxati","type":"array","items":{"type":"object"}},"summary":{"description":"Umumiy statistika","properties":{"total":{"description":"Jami hisob-fakturalar soni","type":"integer","example":10},"pending":{"description":"Kutilayotgan to'lovlar","type":"integer","example":3},"paid":{"description":"To'langan","type":"integer","example":7},"total_amount":{"description":"Jami summa (tiyinda)","type":"integer","example":5000000},"paid_amount":{"description":"To'langan summa (tiyinda)","type":"integer","example":3500000}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/{customer}\/history":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Mijoz tarixi","description":"Mijozning barcha operatsiyalari tarixi \u2014 ro'yxatga olishlar, texnik ko'riklar, haydovchilik guvohnomalari, TM-1 ma'lumotnomalar va tizim faoliyat logi (Activity Log). Audit va nazorat maqsadlarida ishlatiladi. Har bir bo'lim uchun so'nggi 20-50 ta yozuv qaytariladi.","operationId":"9146ccfeafede21365b4c0f4c44378ab","parameters":[{"name":"customer","in":"path","description":"Mijoz ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Tarix muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"$ref":"#\/components\/schemas\/CustomerResource"},"registrations":{"description":"Ro'yxatga olishlar tarixi (so'nggi 20 ta)","type":"array","items":{"type":"object"}},"inspections":{"description":"Texnik ko'riklar tarixi (so'nggi 20 ta)","type":"array","items":{"type":"object"}},"driver_licences":{"description":"Haydovchilik guvohnomalari","type":"array","items":{"type":"object"}},"tms":{"description":"TM-1 ma'lumotnomalar tarixi (so'nggi 20 ta)","type":"array","items":{"type":"object"}},"activity":{"description":"Tizim faoliyat logi (so'nggi 50 ta)","type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/check\/{identifier}":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Identifikator mavjudligini tekshirish","description":"PINFL, INN yoki ID raqam tizimda allaqachon mavjudligini tekshirish. Yangi mijoz yaratish formasida dublikatlarni oldini olish uchun ishlatiladi. Identifikator turi aniq ko'rsatilishi yoki \"any\" (barcha turlardan qidirish) tanlashi mumkin.","operationId":"f26d22f5f843b91c43147f850795b6f6","parameters":[{"name":"identifier","in":"path","description":"Tekshiriladigan identifikator qiymati","required":true,"schema":{"type":"string","example":"12345678901234"}},{"name":"type","in":"query","description":"Identifikator turi \u2014 aniq tur yoki barcha turlardan qidirish","schema":{"type":"string","default":"any","enum":["pinfl","inn","id_number","any"]}}],"responses":{"200":{"description":"Tekshirish natijasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"exists":{"description":"Identifikator tizimda mavjudligi","type":"boolean","example":true},"identifier":{"description":"Tekshirilgan qiymat","type":"string","example":"12345678901234"},"type":{"description":"Identifikator turi","type":"string","example":"pinfl"},"customer":{"description":"Topilgan mijoz (agar mavjud bo'lsa)","properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Abdullayev Jasur"},"type":{"type":"string","example":"physical"},"status":{"type":"string","example":"active"}},"type":"object","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 type parametri noto'g'ri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/get-info":{"get":{"tags":["Agroteh Service","Mijozlar"],"summary":"Davlat reyestridan ma'lumot olish","description":"Mulk egasi to'g'risidagi ma'lumotlarni davlat reyestridan olish. INN (9 raqam) kiritilsa \u2014 yuridik shaxs ma'lumotlari GNK (Soliq qo'mitasi) dan olinadi. PINFL (14 raqam) + pasport kiritilsa \u2014 jismoniy shaxs ma'lumotlari GCP va MVD dan olinadi. Shu bilan birga, tizimda allaqachon mavjudligi ham tekshiriladi. Yangi mijoz yaratish oldidan foydalaniladi.","operationId":"c95abf1891a4419e44729651fef78139","parameters":[{"name":"tin","in":"query","description":"INN (9 raqam) yoki PINFL (14 raqam) \u2014 identifikator turi uzunligi bo'yicha avtomatik aniqlanadi","required":true,"schema":{"type":"string","example":"123456789"}},{"name":"seria","in":"query","description":"Pasport seriyasi (faqat PINFL uchun majburiy) \u2014 2 ta harf","required":false,"schema":{"type":"string","example":"AA"}},{"name":"number","in":"query","description":"Pasport raqami (faqat PINFL uchun majburiy) \u2014 7 ta raqam","required":false,"schema":{"type":"string","example":"1234567"}}],"responses":{"200":{"description":"Ma'lumotlar muvaffaqiyatli olingan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"type":{"description":"Shaxs turi \u2014 avtomatik aniqlanadi","type":"string","enum":["legal","physical"]},"success":{"description":"Davlat xizmatidan ma'lumot olish natijasi","type":"boolean"},"message":{"description":"Xabar matni","type":"string"},"data":{"description":"Davlat reyestridan olingan ma'lumotlar (ism, manzil, tashkilot nomi va h.k.)","type":"object"},"exists_in_db":{"description":"Tizimda allaqachon ro'yxatdan o'tganligini ko'rsatadi","type":"boolean"},"customer":{"oneOf":[{"$ref":"#\/components\/schemas\/CustomerResource"}],"nullable":true,"description":"Tizimdagi mavjud mijoz (agar topilsa)"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 PINFL uchun pasport seriya va raqami majburiy","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Jismoniy shaxs uchun pasport seriya va raqami majburiy"}},"type":"object"}}}},"503":{"description":"Davlat xizmati vaqtincha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Davlat xizmati vaqtincha mavjud emas. Iltimos, keyinroq urinib ko'ring."}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/customers\/create-from-egov":{"post":{"tags":["Agroteh Service","Mijozlar"],"summary":"Davlat reyestridan mijoz yaratish","description":"Davlat reyestridan ma'lumotlarni olish va shu ma'lumotlar asosida yangi mijoz yaratish (bir qadam). INN (9 raqam) kiritilsa \u2014 GNK dan yuridik shaxs ma'lumotlari olinadi va mijoz yaratiladi. PINFL (14 raqam) + pasport kiritilsa \u2014 GCP\/MVD dan jismoniy shaxs ma'lumotlari olinadi va mijoz yaratiladi. Agar mijoz allaqachon mavjud bo'lsa, xatolik qaytariladi. Qo'shimcha tuman, kategoriya va telefon raqami ko'rsatilishi mumkin.","operationId":"7bb13320b7f9fd576839c3da34f2d8d9","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["tin"],"properties":{"tin":{"description":"INN (9 raqam) yoki PINFL (14 raqam)","type":"string","example":"123456789"},"seria":{"description":"Pasport seriyasi \u2014 faqat PINFL uchun majburiy (2 ta harf)","type":"string","example":"AA"},"number":{"description":"Pasport raqami \u2014 faqat PINFL uchun majburiy (7 ta raqam)","type":"string","example":"1234567"},"district_id":{"description":"Tuman ID raqami (tbl_cities jadvalidan)","type":"integer","example":10},"category_ids":{"description":"Kategoriya ID lari massivi","type":"array","items":{"type":"integer"},"example":"[1, 2]"},"mobile":{"description":"Telefon raqami","type":"string","example":"+998901234567"}},"type":"object"}}}},"responses":{"201":{"description":"Mijoz davlat reyestridan muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijoz davlat reyestridan muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CustomerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"400":{"description":"Mijoz allaqachon ro'yxatdan o'tgan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu INN bilan mijoz allaqachon ro'yxatdan o'tgan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 PINFL uchun pasport seriya va raqami majburiy","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Jismoniy shaxs uchun pasport seriya va raqami majburiy"}},"type":"object"}}}},"503":{"description":"Davlat xizmati vaqtincha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Davlat xizmati vaqtincha mavjud emas"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/districts\/{district}":{"get":{"tags":["Agroteh Service","Districts"],"summary":"Tuman ma'lumotlari","operationId":"282c3acc89596dd60376f3c94e813f45","parameters":[{"name":"district","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"put":{"tags":["Agroteh Service","Districts"],"summary":"Tumanni yangilash","operationId":"aa9c8f76acf2f9a9971a4dc092f839c0","parameters":[{"name":"district","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"name_en":{"type":"string","example":"Chilanzar district"},"state_id":{"description":"Viloyat ID","type":"integer","example":1},"code":{"description":"Tuman kodi","type":"string","example":"CHI"},"soato":{"description":"SOATO kodi","type":"integer","example":172604},"is_active":{"description":"Faol holati","type":"boolean","example":true},"sort_order":{"description":"Tartib raqami","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Validatsiya xatosi"}}},"delete":{"tags":["Agroteh Service","Districts"],"summary":"Tumanni o'chirish","operationId":"a69b8e35b7fe2a51135b189f62b6fe84","parameters":[{"name":"district","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/docs":{"get":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Asos hujjatlar ro'yxati","operationId":"fd476004d21abf87308aa2cf03077af8","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidirish","schema":{"type":"string"}},{"name":"service","in":"query","description":"Xizmat turi","schema":{"type":"string","enum":["registration","driver-license","technical-passport","certificate","number","pereregistration"]}},{"name":"unfit","in":"query","description":"Faol emas (true = faol emas)","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (-1 = hammasi)","schema":{"type":"integer","default":-1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Yangi asos hujjat qo'shish","operationId":"9bc0ac4086a1f1fca36cde59ce5cb80e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","service"],"properties":{"name":{"description":"Asos hujjat nomi","type":"string","example":"Oldi-sotdi shartnomasi"},"service":{"description":"Qaysi xizmat uchun","type":"string","example":"registration","enum":["registration","driver-license","technical-passport","certificate","number","pereregistration"]}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/docs\/service-types":{"get":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Xizmat turlari ro'yxati","operationId":"86d2bd98719050c2afa5e11e7e03e4dc","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/docs\/{doc}":{"get":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Asos hujjat ma'lumotlari","operationId":"6d815ee8a5b8a0cc3f3350b34eae7fbc","parameters":[{"name":"doc","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Asos hujjatni yangilash","operationId":"c6182fedebde8346d033bb4d901ce31a","parameters":[{"name":"doc","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Asos hujjat nomi","type":"string","example":"Oldi-sotdi shartnomasi"},"service":{"description":"Qaysi xizmat uchun","type":"string","example":"registration"},"unfit":{"description":"Faol emas (on = faol emas)","type":"string","example":"off","enum":["on","off"]}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Asos hujjatni o'chirish","operationId":"78d28aa8a27c36c785ea0111f0d57c33","parameters":[{"name":"doc","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/docs\/by-service\/{service}":{"get":{"tags":["Agroteh Service","Asos hujjatlar"],"summary":"Xizmat bo'yicha asos hujjatlar","operationId":"530236fa1b2d87bf4cf8abe23b39dfb2","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string"}},{"name":"active_only","in":"query","description":"Faqat aktiv (unfit=false)","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types":{"get":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Hujjat turlari ro'yxati","operationId":"d819cf2bbe01a3273360dad1ebb6d936","parameters":[{"name":"search","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","description":"registration, driver-license, technical-passport, certificate, number, pereregistration","schema":{"type":"string"}},{"name":"is_active","in":"query","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Yangi hujjat turi yaratish","description":"uzagroteh-main: docs\/add.blade.php","operationId":"556e897d17dd81ad5267045147dc2bad","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","service"],"properties":{"name":{"type":"string","example":"Oldi-sotdi shartnomasi"},"service":{"type":"string","example":"registration","enum":["registration","driver-license","technical-passport","certificate","number","pereregistration"]},"unfit":{"description":"Yaroqsiz","type":"boolean","example":false,"default":false}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types\/{documentType}":{"get":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Hujjat turi ma'lumotlari","operationId":"d2b9d28943d76e30acfe1042026344ee","parameters":[{"name":"documentType","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Hujjat turini yangilash","description":"uzagroteh-main: docs\/edit.blade.php","operationId":"0174ad2786150297d0ced9721f38e0d0","parameters":[{"name":"documentType","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Oldi-sotdi shartnomasi"},"service":{"type":"string","example":"registration"},"unfit":{"type":"boolean","example":false}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Hujjat turini o'chirish","operationId":"e734befaf4cb6e045707645f2ac9de07","parameters":[{"name":"documentType","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types\/by-service\/{service}":{"get":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Xizmat bo'yicha hujjat turlari","operationId":"2b5576ef467c0db2bfd67ae0416d0daf","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types\/categories":{"get":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Hujjat turi kategoriyalari ro'yxati","operationId":"7de918a424f007a1956d17924bc13fe7","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types\/active":{"get":{"tags":["Agroteh Service","Hujjat turlari"],"summary":"Faol hujjat turlari ro'yxati","operationId":"987da74c0c9802e1b9c33632320d5381","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams":{"get":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihonlar ro'yxati","description":"Barcha haydovchilik imtihonlari ro'yxatini filtrlash imkoniyati bilan olish","operationId":"0955eb23f11a95b6721ecb1e0c1c5e58","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"owner_id","in":"query","description":"Mijoz ID","schema":{"type":"integer"}},{"name":"exam_type","in":"query","description":"Imtihon turi","schema":{"type":"string","enum":["initial","retake","category_upgrade"]}},{"name":"status","in":"query","description":"Holat","schema":{"type":"string","enum":["scheduled","completed","cancelled"]}},{"name":"result","in":"query","description":"Natija","schema":{"type":"string","enum":["pending","passed","failed"]}},{"name":"categories","in":"query","description":"Kategoriya","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Umumiy qidirish","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DriverExamResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihonga yozilish","description":"Mijozni imtihonga yozish","operationId":"151046272ae83851f9d5955f19c67481","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["owner_id","exam_type","categories","exam_date"],"properties":{"owner_id":{"description":"Mijoz ID","type":"integer","example":1},"exam_type":{"description":"Imtihon turi","type":"string","example":"initial","enum":["initial","retake","category_upgrade"]},"categories":{"description":"Kategoriyalar","type":"string","example":"B,C"},"exam_date":{"description":"Imtihon sanasi","type":"string","format":"date","example":"2024-01-20"}},"type":"object"}}}},"responses":{"201":{"description":"Imtihonga yozildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imtihonga muvaffaqiyatli yozildingiz"},"data":{"$ref":"#\/components\/schemas\/DriverExamResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams\/today":{"get":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Bugungi imtihonlar","description":"Bugun rejalashtirilgan imtihonlar ro'yxati","operationId":"498562f76d1cdb310ff610900f0c9236","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DriverExamResource"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams\/{driverExam}":{"get":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihon ma'lumotlari","description":"Bitta imtihon haqida to'liq ma'lumot","operationId":"5b403d51f8699f4095cba169ebb62f8a","parameters":[{"name":"driverExam","in":"path","description":"Imtihon ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DriverExamResource"}},"type":"object"}}}},"404":{"description":"Imtihon topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihon ma'lumotlarini yangilash","description":"Imtihon ma'lumotlarini yangilash (faqat rejalashtirilgan imtihonlar uchun)","operationId":"6adf459d742775ae3e54615cec23ec3e","parameters":[{"name":"driverExam","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"exam_type":{"type":"string","example":"initial","enum":["initial","retake","category_upgrade"]},"categories":{"type":"string","example":"B,C"},"exam_date":{"type":"string","format":"date","example":"2024-01-20"}},"type":"object"}}}},"responses":{"200":{"description":"Imtihon yangilandi"},"400":{"description":"Yakunlangan imtihonni o'zgartirib bo'lmaydi"},"404":{"description":"Imtihon topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams\/{driverExam}\/result":{"post":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihon natijasini kiritish","description":"Imtihon natijasini (nazariy va amaliy ball) kiritish","operationId":"cdb0a44d4e38923429f5d25b41873c4a","parameters":[{"name":"driverExam","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["theory_score","practice_score"],"properties":{"theory_score":{"description":"Nazariy imtihon bali","type":"integer","example":85,"maximum":100,"minimum":0},"practice_score":{"description":"Amaliy imtihon bali","type":"integer","example":90,"maximum":100,"minimum":0}},"type":"object"}}}},"responses":{"200":{"description":"Natija kiritildi"},"400":{"description":"Bu imtihon allaqachon yakunlangan"},"404":{"description":"Imtihon topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams\/{driverExam}\/cancel":{"post":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Imtihonni bekor qilish","description":"Rejalashtirilgan imtihonni bekor qilish","operationId":"5f8859e436e55ea48824d46fa33e0ba2","parameters":[{"name":"driverExam","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon bekor qilindi"},"400":{"description":"Yakunlangan imtihonni bekor qilib bo'lmaydi"},"404":{"description":"Imtihon topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Haydovchilik imtihonlari"],"summary":"Mijoz imtihonlari tarixi","description":"Mijozning barcha imtihonlari tarixi","operationId":"b8823b0e9887bac4fb83718e44c55d5d","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DriverExamResource"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences":{"get":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Haydovchilik guvohnomalari ro'yxati","description":"Barcha haydovchilik guvohnomalari ro'yxatini filtrlash imkoniyati bilan olish. Qidiruv: guvohnoma raqami (series+number), mijoz ismi\/familiyasi, PINFL, INN, ID raqami bo'yicha. Filtrlar: holat, amal turi, kategoriya, seriya, raqam, muddati o'tganlar, viloyat, tuman, sana oralig'i.","operationId":"driverLicenceIndex","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default: 50, max: 100, -1 = hammasi)","required":false,"schema":{"type":"integer","example":50,"default":50}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","example":1,"default":1}},{"name":"search","in":"query","description":"Umumiy qidirish: guvohnoma raqami, mijoz ismi, PINFL, INN","required":false,"schema":{"type":"string","example":"AA1234567"}},{"name":"s","in":"query","description":"Qidirish (search aliasi, legacy moslik uchun)","required":false,"schema":{"type":"string"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"status","in":"query","description":"Holat bo'yicha filtr","required":false,"schema":{"type":"string","enum":["active","inactive"]}},{"name":"action","in":"query","description":"Amal turi bo'yicha filtr","required":false,"schema":{"type":"string","enum":["give","recover","update"]}},{"name":"categories","in":"query","description":"Kategoriya bo'yicha qidirish (masalan: B, C)","required":false,"schema":{"type":"string","example":"B"}},{"name":"series","in":"query","description":"Seriya bo'yicha aniq filtr","required":false,"schema":{"type":"string","example":"AA"}},{"name":"number","in":"query","description":"Raqam bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"1234567"}},{"name":"from","in":"query","description":"Berilgan sana boshlanishi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-01-01"}},{"name":"till","in":"query","description":"Berilgan sana tugashi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-12-31"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (from aliasi)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (till aliasi)","required":false,"schema":{"type":"string","format":"date"}},{"name":"expired","in":"query","description":"Faqat muddati o'tgan guvohnomalarni ko'rsatish","required":false,"schema":{"type":"boolean","example":false}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz manzili orqali)","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali)","required":false,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Guvohnomalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Guvohnomalar massivi","type":"array","items":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"meta":{"description":"Paginatsiya ma'lumotlari (per_page=-1 bo'lganda qaytarilmaydi)","properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":230}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 so'rov parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"status":["Tanlangan holat noto'g'ri"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Yangi haydovchilik guvohnomasi berish","description":"Mijozga yangi haydovchilik guvohnomasi berish. action=give \u2014 yangi guvohnoma (mijozda faol guvohnoma bo'lmasligi shart). action=recover \u2014 qayta berish (eski guvohnoma avtomatik nofaol holatga o'tkaziladi). action=update \u2014 mavjud guvohnomani yangilash (masalan, kategoriya qo'shish). Seriya va raqam ko'rsatilmasa, viloyat kodiga qarab avtomatik generatsiya qilinadi. Kategoriyalar type massividan yoki categories maydonidan olinadi. Hujjatning free_service xususiyati true bo'lsa, to'lov bepul hisoblanadi.","operationId":"driverLicenceStore","requestBody":{"description":"Guvohnoma berish uchun zarur ma'lumotlar","required":true,"content":{"application\/json":{"schema":{"required":["owner_id","given_date"],"properties":{"owner_id":{"description":"Mijoz ID (customers jadvalidan)","type":"integer","example":1},"series":{"description":"Seriya (bo'sh bo'lsa viloyat kodiga qarab avtomatik generatsiya qilinadi)","type":"string","example":"UZ-AA","nullable":true},"number":{"description":"Raqam (bo'sh bo'lsa avtomatik generatsiya qilinadi)","type":"string","example":"000001","nullable":true},"local_series":{"description":"Mahalliy seriya (ixtiyoriy)","type":"string","example":"BB","nullable":true},"local_number":{"description":"Mahalliy raqam (ixtiyoriy)","type":"string","example":"7654321","nullable":true},"categories":{"description":"Kategoriyalar vergul bilan ajratilgan (type bo'sh bo'lganda ishlatiladi)","type":"string","example":"B,C,D"},"type":{"description":"Kategoriyalar batafsil ma'lumotlari \u2014 har bir kategoriya uchun nom, berilgan sana va muddat","type":"array","items":{"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"B"},"given_date":{"description":"Kategoriya berilgan sana","type":"string","format":"date","example":"2024-01-15"},"duration":{"description":"Amal qilish muddati (yil)","type":"integer","example":10}},"type":"object"}},"action":{"description":"Amal turi (default: give)","type":"string","example":"give","enum":["give","recover","update"]},"given_date":{"description":"Guvohnoma berilgan sana (YYYY-MM-DD)","type":"string","format":"date","example":"2024-01-15"},"expire_date":{"description":"Amal qilish muddati tugash sanasi (YYYY-MM-DD)","type":"string","format":"date","example":"2034-01-15","nullable":true},"doc":{"description":"Asos hujjat ID (documents jadvalidan)","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi","type":"string","example":"Tibbiy ma'lumotnoma","nullable":true},"note":{"description":"Qo'shimcha izoh","type":"string","example":"Qo'shimcha izoh","nullable":true},"total_amount":{"description":"Umumiy summa so'mda","type":"number","example":50000,"nullable":true},"recover_reason":{"description":"Qayta berish sababi (action=recover bo'lganda tavsiya etiladi)","type":"string","example":"Yo'qotilgan","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Haydovchilik guvohnomasi muvaffaqiyatli berildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Haydovchilik guvohnomasi muvaffaqiyatli berildi"},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"400":{"description":"Biznes logika xatosi \u2014 mijoz nofaol yoki faol guvohnoma mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijozda faol haydovchilik guvohnomasi mavjud. Avval uni bekor qiling yoki qayta berish (recover) amali tanlang."}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"owner_id":["Mijoz topilmadi"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/statistics":{"get":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Haydovchilik guvohnomalari statistikasi","description":"Haydovchilik guvohnomalari bo'yicha umumiy statistika: holat bo'yicha (faol, nofaol, muddati o'tgan), amal turi bo'yicha (berish, qayta berish, yangilash), kategoriya bo'yicha (A dan F gacha), moliyaviy ma'lumotlar (jami summa, to'langan summa), bugungi va shu oylik ko'rsatkichlar. Sana oralig'i va hududiy filtrlar qo'llanilishi mumkin.","operationId":"driverLicenceStatistics","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-01-01"}},{"name":"till","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-12-31"}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz manzili orqali)","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali)","required":false,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Statistik ma'lumotlar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Statistik ko'rsatkichlar","properties":{"total":{"description":"Jami guvohnomalar soni","type":"integer","example":230},"active":{"description":"Faol guvohnomalar","type":"integer","example":180},"inactive":{"description":"Nofaol guvohnomalar","type":"integer","example":40},"expired":{"description":"Muddati o'tgan guvohnomalar","type":"integer","example":10},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar","type":"integer","example":150},"recover":{"description":"Qayta berilganlar","type":"integer","example":50},"update":{"description":"Yangilanganlar","type":"integer","example":30}},"type":"object"},"by_category":{"description":"Kategoriya bo'yicha taqsimot (A-F)","properties":{"A":{"description":"A kategoriya","type":"integer","example":30},"B":{"description":"B kategoriya","type":"integer","example":120},"C":{"description":"C kategoriya","type":"integer","example":80},"D":{"description":"D kategoriya","type":"integer","example":45},"E":{"description":"E kategoriya","type":"integer","example":20},"F":{"description":"F kategoriya","type":"integer","example":10}},"type":"object"},"total_amount":{"description":"Jami umumiy summa (so'mda)","type":"number","format":"double","example":11500000},"paid_amount":{"description":"Jami to'langan summa (so'mda)","type":"number","format":"double","example":11500000},"today_issued":{"description":"Bugun berilgan guvohnomalar soni","type":"integer","example":3},"this_month":{"description":"Joriy oyda berilgan guvohnomalar soni","type":"integer","example":28}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 filtr parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/find":{"get":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Guvohnoma raqami bo'yicha qidirish","description":"Haydovchilik guvohnomasini seriya va raqam bo'yicha topish. To'liq guvohnoma raqami (licence_id = series+number) yoki alohida seriya va raqam bo'yicha qidirish mumkin. Odatda faqat faol guvohnomalar ko'rsatiladi, active_only=false bilan barcha holatdagilarni olish mumkin.","operationId":"driverLicenceFind","parameters":[{"name":"series","in":"query","description":"Seriya (aniq qiymat)","required":false,"schema":{"type":"string","example":"AA"}},{"name":"number","in":"query","description":"Raqam (aniq qiymat)","required":false,"schema":{"type":"string","example":"1234567"}},{"name":"licence_id","in":"query","description":"To'liq guvohnoma raqami (series+number birlashtirilgan)","required":false,"schema":{"type":"string","example":"AA1234567"}},{"name":"active_only","in":"query","description":"Faqat faol guvohnomalarni ko'rsatish (default: true)","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"Guvohnoma topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Berilgan parametrlar bo'yicha guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Guvohnoma topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/{driverLicence}":{"get":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Guvohnoma batafsil ma'lumotlari","description":"Bitta haydovchilik guvohnomasi haqida to'liq ma'lumot: seriya, raqam, kategoriyalar, berilgan va amal qilish muddati, mijoz ma'lumotlari, hujjat, to'lov holati va yaratgan xodim bilan birga qaytariladi.","operationId":"driverLicenceShow","parameters":[{"name":"driverLicence","in":"path","description":"Guvohnoma ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Guvohnoma ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Guvohnomani yangilash","description":"Haydovchilik guvohnomasi ma'lumotlarini qisman yangilash. Barcha maydonlar ixtiyoriy (sometimes). Kategoriyalar type massividan avtomatik olinadi (agar categories bo'sh bo'lsa). To'lov holati va summalarini ham yangilash mumkin.","operationId":"driverLicenceUpdate","parameters":[{"name":"driverLicence","in":"path","description":"Guvohnoma ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Yangilanishi kerak bo'lgan maydonlar (faqat o'zgargan maydonlarni yuborish kifoya)","content":{"application\/json":{"schema":{"properties":{"series":{"description":"Seriya","type":"string","example":"AA"},"number":{"description":"Raqam","type":"string","example":"1234567"},"local_series":{"description":"Mahalliy seriya","type":"string","example":"BB","nullable":true},"local_number":{"description":"Mahalliy raqam","type":"string","example":"7654321","nullable":true},"categories":{"description":"Kategoriyalar vergul bilan ajratilgan","type":"string","example":"B,C,D"},"type":{"description":"Kategoriyalar batafsil [{name, given_date, duration}]","type":"array","items":{"properties":{"name":{"type":"string","example":"B"},"given_date":{"type":"string","format":"date","example":"2024-01-15"},"duration":{"type":"integer","example":10}},"type":"object"}},"given_date":{"description":"Berilgan sana (YYYY-MM-DD)","type":"string","format":"date","example":"2024-01-15"},"expire_date":{"description":"Amal qilish muddati tugash sanasi (YYYY-MM-DD)","type":"string","format":"date","example":"2034-01-15"},"doc":{"description":"Asos hujjat ID","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi","type":"string","example":"Tibbiy ma'lumotnoma","nullable":true},"note":{"description":"Qo'shimcha izoh","type":"string","example":"Qo'shimcha izoh","nullable":true},"total_amount":{"description":"Umumiy summa so'mda","type":"number","example":50000,"nullable":true},"paid_amount":{"description":"To'langan summa so'mda","type":"number","example":50000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","example":"paid","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Guvohnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma yangilandi"},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/{driverLicence}\/cancel":{"post":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Guvohnomani bekor qilish","description":"Faol haydovchilik guvohnomasini bekor qilish \u2014 guvohnoma nofaol (inactive) holatga o'tkaziladi. Ixtiyoriy sabab matni ko'rsatilsa, u note maydoniga yoziladi. Allaqachon nofaol guvohnomani qayta bekor qilish mumkin emas (400 xatosi qaytariladi).","operationId":"driverLicenceCancel","parameters":[{"name":"driverLicence","in":"path","description":"Guvohnoma ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Bekor qilish sababi (ixtiyoriy)","required":false,"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Bekor qilish sababi. Ko'rsatilsa note maydoniga yoziladi.","type":"string","example":"Hujjatlar noto'g'ri kiritilgan","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Guvohnoma muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"400":{"description":"Guvohnoma allaqachon nofaol holatda \u2014 qayta bekor qilish mumkin emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu guvohnoma allaqachon bekor qilingan"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/{driverLicence}\/activate":{"post":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Guvohnomani qayta faollashtirish","description":"Bekor qilingan (nofaol) haydovchilik guvohnomasini qayta faollashtirish. Mijozda boshqa faol guvohnoma bo'lmasligi shart \u2014 agar mavjud bo'lsa, avval uni bekor qilish kerak. Allaqachon faol guvohnomani qayta faollashtirish mumkin emas (400 xatosi qaytariladi).","operationId":"driverLicenceActivate","parameters":[{"name":"driverLicence","in":"path","description":"Guvohnoma ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Guvohnoma muvaffaqiyatli faollashtirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"type":"object"}}}},"400":{"description":"Biznes logika xatosi \u2014 guvohnoma allaqachon faol yoki mijozda boshqa faol guvohnoma mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu guvohnoma allaqachon faol"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-licences\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Haydovchilik guvohnomalari"],"summary":"Mijozning guvohnomalari tarixi","description":"Mijozning barcha haydovchilik guvohnomalari tarixi: hozirgi faol guvohnoma (agar mavjud bo'lsa), barcha guvohnomalar ro'yxati (berilgan sana bo'yicha kamayish tartibida), hamda holat, amal turi va muddati o'tganlar bo'yicha statistika.","operationId":"driverLicenceCustomerHistory","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID (customers jadvalidan)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz guvohnomalari tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"description":"Mijoz asosiy ma'lumotlari","properties":{"id":{"type":"integer","example":1},"name":{"description":"To'liq ism","type":"string","example":"Karimov Jasur Baxtiyor o'g'li"},"pinfl":{"description":"JSHSHIR","type":"string","example":"31234567890123","nullable":true},"inn":{"description":"INN","type":"string","example":"123456789","nullable":true},"region":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati","nullable":true},"district":{"description":"Tuman nomi","type":"string","example":"Chirchiq tumani","nullable":true}},"type":"object"},"licences":{"description":"Barcha guvohnomalar (berilgan sana bo'yicha kamayish tartibida)","type":"array","items":{"$ref":"#\/components\/schemas\/DriverLicenceResource"}},"active_licence":{"oneOf":[{"$ref":"#\/components\/schemas\/DriverLicenceResource"}],"nullable":true,"description":"Hozirgi faol guvohnoma (agar mavjud bo'lsa, aks holda null)"},"statistics":{"description":"Guvohnomalar statistikasi","properties":{"total":{"description":"Jami guvohnomalar soni","type":"integer","example":3},"active":{"description":"Faol guvohnomalar","type":"integer","example":1},"inactive":{"description":"Nofaol guvohnomalar","type":"integer","example":2},"expired":{"description":"Muddati o'tganlar","type":"integer","example":1},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar","type":"integer","example":1},"recover":{"description":"Qayta berilganlar","type":"integer","example":1},"update":{"description":"Yangilanganlar","type":"integer","example":1}},"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks":{"get":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"DXA topshiriqlari ro'yxati","operationId":"72661300b292f98683c855d18e7a81ee","parameters":[{"name":"status","in":"query","schema":{"type":"integer"}},{"name":"type_id","in":"query","schema":{"type":"integer"}},{"name":"org_tin","in":"query","schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/pending":{"get":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Kutilayotgan topshiriqlar","operationId":"fa638cf6bb4cd4acc659ca1e4c29ab59","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/statistics":{"get":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"DXA topshiriqlar statistikasi","operationId":"73cb84db2a9df787c88992a29398f287","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}":{"get":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"DXA topshiriq ma'lumotlari","operationId":"2daee05c34aeaaa7a1a7caaae504fe60","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}\/process":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Topshiriqni qayta ishlashni boshlash","operationId":"f12695450d74d7e32747015a0f0b9ebf","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}\/save-response":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Topshiriq javobini saqlash","operationId":"135ffe310de67af656e78af079c87f4a","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["response"],"properties":{"response":{"description":"Javob ma'lumotlari","type":"object","example":"{\"application_id\": \"DXA-2024-001\"}"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}\/send":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Javobni DXA ga yuborish","operationId":"711f428cad24f7df0565b75fcbc61264","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}\/complete":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Topshiriqni yakunlash","operationId":"975800c8510c7e352e55d2a787594f86","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/{dxaTask}\/generate-response":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"Avtomatik javob generatsiya qilish","operationId":"3125f237cf3d603ab46e1bc83bd4b90b","parameters":[{"name":"dxaTask","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dxa-tasks\/webhook":{"post":{"tags":["Agroteh Service","DXA vazifalari"],"summary":"DXA dan so'rov qabul qilish (webhook)","operationId":"fef56a7c61009447d55f3c13e4cdcde5","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["application_id"],"properties":{"application_id":{"type":"string","example":"DXA-2024-001"},"type_id":{"type":"integer","example":1},"org_name":{"type":"string","example":"Toshkent agro servis"},"org_tin":{"type":"string","example":"123456789"},"org_address":{"type":"string","example":"Toshkent sh., Chilonzor tumani"},"data":{"type":"object","example":"{}"}},"type":"object"}}}},"responses":{"201":{"description":"Qabul qilindi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/ekologiya":{"get":{"tags":["Agroteh Service","Ekologiya integratsiyasi"],"summary":"Ekologiya so'rovlar ro'yxati","description":"Ekologiya vazirligidan kelgan barcha kiruvchi so'rovlar jurnali. Filtr: holat, IP manzil, sana oralig'i.","operationId":"586978c78eac9aa3f0c9b03c9d4946a7","parameters":[{"name":"status","in":"query","description":"Holat: new, processed, error","schema":{"type":"string"}},{"name":"ip_address","in":"query","description":"IP manzil bo'yicha filtr","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/ekologiya\/statistics":{"get":{"tags":["Agroteh Service","Ekologiya integratsiyasi"],"summary":"Ekologiya so'rovlar statistikasi","description":"Ekologiya integratsiyasi bo'yicha statistika: jami, holat bo'yicha, bugungi, oylik.","operationId":"b36ff7eebdbb304ba3e0a8a033ad615b","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/ekologiya\/{ekologiyaRequest}":{"get":{"tags":["Agroteh Service","Ekologiya integratsiyasi"],"summary":"Ekologiya so'rov tafsilotlari","description":"Bitta Ekologiya so'rovi to'liq ma'lumotlari: kelgan so'rov va qaytarilgan javob.","operationId":"93002760d9f47a701e3309bda16e35d3","parameters":[{"name":"ekologiyaRequest","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/ekologiya\/vehicle-info":{"post":{"tags":["Agroteh Service","Ekologiya integratsiyasi"],"summary":"Ekologiya \u2014 texnika ma'lumotlari (webhook)","description":"Ekologiya vazirligi INN\/STIR yuboradi. Reyestr mantiqiga o'xshash: INN ga tegishli texnikalar ro'yxati, gaz\/yoqilg'i turi, egasining aloqa ma'lumotlari qaytariladi. So'rov jurnalga yoziladi.","operationId":"b76ebd4f2b3b046ffa2a0fa0839edb3f","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["applicant_inn"],"properties":{"applicant_inn":{"description":"Tashkilot INN\/STIR","type":"string","example":"123456789012"}},"type":"object"}}}},"responses":{"200":{"description":"Texnika ro'yxati va ekologik ma'lumotlar"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/exam-types":{"get":{"tags":["Agroteh Service","Imtihon turlari"],"summary":"Imtihon turlari ro'yxati","description":"Barcha imtihon turlarini olish. Nom bo'yicha qidiruv va faollik holati bo'yicha filtrlash mumkin. Tartib sort_order va nom bo'yicha.","operationId":"8db56b1bc71d8c28edee19193182028b","parameters":[{"name":"search","in":"query","description":"Imtihon turi nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtrlash (true=faol, false=nofaol)","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Imtihon turlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExamTypeResource"}},"message":{"type":"string","example":"Muvaffaqiyatli"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Imtihon turlari"],"summary":"Yangi imtihon turi qo'shish","description":"Tizimga yangi imtihon turini qo'shish. Nazariy, amaliy yoki aralash turdagi imtihon yaratish mumkin.","operationId":"556cbf381eb8fbd51123f255f3a8b618","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Imtihon turi nomi","type":"string","example":"Nazariy imtihon","maxLength":255}},"type":"object"}}}},"responses":{"201":{"description":"Imtihon turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ExamTypeResource"},"message":{"type":"string","example":"Imtihon turi muvaffaqiyatli yaratildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/exam-types\/{examType}":{"get":{"tags":["Agroteh Service","Imtihon turlari"],"summary":"Imtihon turi ma'lumotlari","description":"Bitta imtihon turining to'liq ma'lumotlarini olish. Tegishli imtihonlar soni ham qaytariladi.","operationId":"72f542633fbc90c0fcfaea4828544f5b","parameters":[{"name":"examType","in":"path","description":"Imtihon turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon turi ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ExamTypeResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Imtihon turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Imtihon turi topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Imtihon turlari"],"summary":"Imtihon turini yangilash","description":"Mavjud imtihon turi ma'lumotlarini tahrirlash.","operationId":"1b3964ca4874fea3d372215f1f0c46c9","parameters":[{"name":"examType","in":"path","description":"Imtihon turi ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Imtihon turi nomi","type":"string","example":"Nazariy imtihon","maxLength":255}},"type":"object"}}}},"responses":{"200":{"description":"Imtihon turi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ExamTypeResource"},"message":{"type":"string","example":"Imtihon turi muvaffaqiyatli yangilandi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Imtihon turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Imtihon turi topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Imtihon turlari"],"summary":"Imtihon turini o'chirish","description":"Imtihon turini tizimdan o'chirish. Agar bu turga tegishli imtihonlar mavjud bo'lsa, o'chirish rad etiladi.","operationId":"d6a7ceeba9b419a814aad967f2f0cb84","parameters":[{"name":"examType","in":"path","description":"Imtihon turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon turi muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Imtihon turi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Imtihon turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Imtihon turi topilmadi"}},"type":"object"}}}},"422":{"description":"O'chirib bo'lmaydi \u2014 tegishli imtihonlar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu imtihon turiga tegishli imtihonlar mavjud. Avval imtihonlarni boshqa turga o'tkazing."}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/types":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Mavjud eksport turlari ro'yxati","description":"Tizimda mavjud barcha eksport turlarini qaytaradi. Har bir tur uchun kalit nomi (key), ko'rsatiladigan nomi (name) va tavsifi (description) ko'rsatiladi. Ushbu ro'yxat asosida kerakli eksport endpointiga so'rov yuboriladi.","operationId":"ae145d5e4d9f2e94e60416de2b550082","responses":{"200":{"description":"Muvaffaqiyatli - eksport turlari ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExportType"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/vehicles":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Texnikalar ro'yxatini eksport qilish","description":"Barcha texnikalar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, tuman, brend, holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: texnikalar_YYYY-MM-DD_HH-mm.{format}","operationId":"5c595128cc458aa15e57480c57af2b08","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"brand_id","in":"query","description":"Texnika brendi ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Texnika holati bo'yicha filtrlash (regged, unregged va boshqalar)","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - filtr parametrlari noto'g'ri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/customers":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Mijozlar (mulk egalari) ro'yxatini eksport qilish","description":"Barcha mijozlar (texnika mulk egalari) ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Mijoz turi (jismoniy\/yuridik), viloyat, tuman, qidiruv so'zi va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: mijozlar_YYYY-MM-DD_HH-mm.{format}","operationId":"8a51077869de43fe1ecddb2d6f91d9ce","parameters":[{"name":"type","in":"query","description":"Mijoz turi: jismoniy (physical) yoki yuridik (legal) shaxs","schema":{"type":"string","enum":["physical","legal"]}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv so'zi (ism, familiya, tashkilot nomi bo'yicha)","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/inspections":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Texnik ko'riklar natijalarini eksport qilish","description":"Texnik ko'rik natijalari ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, ko'rik turi (majburiy\/umumiy), natija (o'tgan\/o'tmagan\/kutilayotgan), holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: texnik_koriklar_YYYY-MM-DD_HH-mm.{format}","operationId":"4e03c5a227400b70438f29453135fbbc","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"type","in":"query","description":"Ko'rik turi: majburiy (mandatory) yoki umumiy (general)","schema":{"type":"string","enum":["mandatory","general"]}},{"name":"result","in":"query","description":"Ko'rik natijasi: o'tgan (passed), o'tmagan (failed), kutilayotgan (pending)","schema":{"type":"string","enum":["passed","failed","pending"]}},{"name":"status","in":"query","description":"Ko'rik holati bo'yicha filtrlash","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/registrations":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Ro'yxatga olishlar tarixini eksport qilish","description":"Texnikalar ro'yxatga olish tarixini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, harakat turi (ro'yxatga olish\/qayta ro'yxatga olish\/ro'yxatdan chiqarish), holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: royxatga_olish_YYYY-MM-DD_HH-mm.{format}","operationId":"df7d381f32bb162700f034d28d20fe91","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"action","in":"query","description":"Harakat turi: ro'yxatga olish (regged), qayta ro'yxatga olish (reregged), ro'yxatdan chiqarish (unregged)","schema":{"type":"string","enum":["regged","reregged","unregged"]}},{"name":"status","in":"query","description":"Holat bo'yicha filtrlash","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/invoices":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Hisob-fakturalar ro'yxatini eksport qilish","description":"To'lov hisob-fakturalari ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. To'lov holati (kutilayotgan\/to'langan\/bekor qilingan\/muddati o'tgan), mijoz ID va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: hisob_fakturalar_YYYY-MM-DD_HH-mm.{format}","operationId":"d78c4185246ae69ddf2e33324c49f8b3","parameters":[{"name":"status","in":"query","description":"To'lov holati: kutilayotgan (pending), to'langan (paid), bekor qilingan (cancelled), muddati o'tgan (expired)","schema":{"type":"string","enum":["pending","paid","cancelled","expired"]}},{"name":"customer_id","in":"query","description":"Mijoz ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/driver-licences":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Haydovchilik guvohnomalari ro'yxatini eksport qilish","description":"Haydovchilik guvohnomalari ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, holat, guvohnoma turi va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: haydovchilik_guvohnomalari_YYYY-MM-DD_HH-mm.{format}","operationId":"361a07e2f93efd097b3a14d6f0060a10","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Guvohnoma holati bo'yicha filtrlash","schema":{"type":"string"}},{"name":"type","in":"query","description":"Guvohnoma turi bo'yicha filtrlash","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/tms":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"TM-1 ma'lumotnomalar ro'yxatini eksport qilish","description":"TM-1 ma'lumotnomalar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: tm1_malumotnomalari_YYYY-MM-DD_HH-mm.{format}","operationId":"3df250387f9a5e924214868063799f16","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Ma'lumotnoma holati bo'yicha filtrlash","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/vehicle-certificates":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Texnik (agregat) guvohnomalar ro'yxatini eksport qilish","description":"Texnik (agregat) guvohnomalar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Viloyat, holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: texnik_guvohnomalar_YYYY-MM-DD_HH-mm.{format}","operationId":"3ec8e9badd0582a63a4f22d59d0e125c","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Guvohnoma holati bo'yicha filtrlash","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/yidxp-applications":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"YIDXP (my.gov.uz) arizalari ro'yxatini eksport qilish","description":"YIDXP (my.gov.uz) orqali kelib tushgan arizalar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Xizmat maqsadi, ariza holati, viloyat SOATO kodi va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: yidxp_arizalari_YYYY-MM-DD_HH-mm.{format}","operationId":"4ebe58cbed292bdb7644ff9dcc350d61","parameters":[{"name":"service_target","in":"query","description":"Xizmat maqsadi ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"task_status","in":"query","description":"Ariza holati bo'yicha filtrlash","schema":{"type":"string"}},{"name":"region_soato","in":"query","description":"Viloyat SOATO kodi bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/dxa-report":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"DXA (Davlat xizmatlari agentligi) topshiriqlari hisobotini eksport qilish","description":"DXA tizimidan kelgan topshiriqlar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Holat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: dxa_hisobot_YYYY-MM-DD_HH-mm.{format}","operationId":"1009537e23c6e2e66bf7e1d16e053adf","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Holati: -1=Xatolik, 0=Yangi, 1=Jarayonda, 2=Yuborildi, 3=Yakunlandi","schema":{"type":"integer","enum":[-1,0,1,2,3]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/dsi-report":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"DSI (Davlat soliq inspeksiyasi) so'rovlari hisobotini eksport qilish","description":"DSI tizimiga yuborilgan so'rovlar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Holat, viloyat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: dsi_hisobot_YYYY-MM-DD_HH-mm.{format}","operationId":"de96b9020054684a93c503c06e4aa618","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Holati: muvaffaqiyatli (success), xatolik (failed)","schema":{"type":"string","enum":["success","failed"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/mib-report":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"MIB (Majburiy ijro byurosi) so'rovlari hisobotini eksport qilish","description":"MIB tizimiga yuborilgan so'rovlar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. Holat, viloyat va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: mib_hisobot_YYYY-MM-DD_HH-mm.{format}","operationId":"eda8ac359f0124d0593ab3c730b8a24e","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Holati: muvaffaqiyatli (success), xatolik (failed)","schema":{"type":"string","enum":["success","failed"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/hisob-palata-report":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"Hisob palatasi integratsiya so'rovlari hisobotini eksport qilish","description":"Hisob palatasi tizimiga yuborilgan so'rovlar ro'yxatini Excel (XLSX) yoki CSV formatda yuklab olish. So'rov turi (method_type) va sana oralig'i bo'yicha filtrlash mumkin. Fayl nomi: hisob_palata_YYYY-MM-DD_HH-mm.{format}","operationId":"031e08e2278c94ac14e3f0eac8a4a68c","parameters":[{"name":"method_type","in":"query","description":"So'rov turi (method_type) bo'yicha filtrlash","schema":{"type":"string","maxLength":10}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/export\/full-report":{"get":{"tags":["Agroteh Service","Eksport"],"summary":"To'liq konsolidatsiya hisobotini eksport qilish (4 varaq)","description":"Barcha asosiy ko'rsatkichlarni o'z ichiga olgan konsolidatsiya hisobotini Excel formatda yuklab olish. Hisobot 4 varaqdan iborat: 1) Texnikalar soni (viloyat + turi bo'yicha), 2) Ro'yxatga olish statistikasi (viloyat bo'yicha), 3) Texnik ko'rik statistikasi (viloyat + natija bo'yicha), 4) Daromad statistikasi (viloyat + to'lov turi bo'yicha). Sana oralig'i majburiy. Fayl nomi: toliq_hisobot_YYYY-MM-DD_HH-mm.xlsx","operationId":"9e55cc419393e50d656f28dc8ec9cca4","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati (default: xlsx)","schema":{"type":"string","enum":["xlsx","csv"]}}],"responses":{"200":{"description":"Excel\/CSV fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - sana oralig'i majburiy"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/dsi":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"DSI so'rovlari ro'yxati","description":"Davlat soliq inspeksiyasiga yuborilgan barcha so'rovlar ro'yxatini olish. Transport vosita, so'rov turi, holati va sana oralig'i bo'yicha filtrlash mumkin.","operationId":"733f839611f87aef1360654aeafb15dc","parameters":[{"name":"vehicle_id","in":"query","description":"Transport vosita ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"request_type","in":"query","description":"So'rov turi bo'yicha filtrlash","schema":{"type":"string"}},{"name":"status","in":"query","description":"So'rov holati bo'yicha filtrlash","schema":{"type":"string","enum":["pending","success","failed"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"DSI so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/dsi\/{dsiRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"DSI so'rov ma'lumotlari","description":"Bitta DSI so'rovining batafsil ma'lumotlarini olish, jumladan bog'langan transport vosita, mijoz va javob ma'lumotlari.","operationId":"b08758dc4c18afcd8c6576c9189d9e99","parameters":[{"name":"dsiRequest","in":"path","description":"DSI so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"DSI so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"DSI so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/dsi\/statistics":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"DSI so'rovlar statistikasi","description":"DSI so'rovlari bo'yicha umumiy statistikani olish: holat va amal turi bo'yicha guruhlangan hisoblar. Sana oralig'i bo'yicha filtrlash mumkin.","operationId":"bccb7a49bc2f6d55a0d852fbe233f6de","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"DSI statistikasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DsiStatisticsResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/mib":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"MIB so'rovlari ro'yxati","description":"Majburiy ijro byurosiga yuborilgan barcha so'rovlar ro'yxatini olish. So'rov turi, natijasi va sahifalash bo'yicha filtrlash mumkin.","operationId":"cd6d28a1a01257cb40cfac7041ffb95d","parameters":[{"name":"vehicle_id","in":"query","description":"Transport vosita ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"customer_id","in":"query","description":"Mijoz ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"request_type","in":"query","description":"So'rov turi bo'yicha filtrlash","schema":{"type":"string"}},{"name":"status","in":"query","description":"So'rov holati bo'yicha filtrlash","schema":{"type":"string","enum":["pending","success","failed"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"MIB so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/mib\/{mibRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"MIB so'rov ma'lumotlari","description":"Bitta MIB so'rovining batafsil ma'lumotlarini olish, jumladan bog'langan tuman va javob ma'lumotlari.","operationId":"ad01a53ff459a3db8b53f72cf76180cc","parameters":[{"name":"mibRequest","in":"path","description":"MIB so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"MIB so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"MIB so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/mib\/statistics":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"MIB so'rovlar statistikasi","description":"MIB so'rovlari bo'yicha umumiy statistikani olish: natija va so'rov turi bo'yicha guruhlangan hisoblar. Sana oralig'i bo'yicha filtrlash mumkin.","operationId":"970651b2245d8c51b6442f0c68af9410","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"MIB statistikasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/MibStatisticsResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/customs":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Bojxona so'rovlari ro'yxati","description":"Bojxona qo'mitasiga yuborilgan barcha so'rovlar ro'yxatini olish. Transport vosita, deklaratsiya raqami va holati bo'yicha filtrlash mumkin.","operationId":"56e899710c1b91df2ba73027cc5e8dde","parameters":[{"name":"vehicle_id","in":"query","description":"Transport vosita ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"declaration_number","in":"query","description":"Deklaratsiya raqami bo'yicha qidirish (qisman mos)","schema":{"type":"string"}},{"name":"status","in":"query","description":"So'rov holati bo'yicha filtrlash","schema":{"type":"string","enum":["pending","success","failed"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Bojxona so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/customs\/{customsRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Bojxona so'rov ma'lumotlari","description":"Bitta bojxona so'rovining batafsil ma'lumotlarini olish, jumladan deklaratsiya va import rasmiylashtiruvi ma'lumotlari.","operationId":"74f135eeefc0d71b0eb6b4db51df7aa9","parameters":[{"name":"customsRequest","in":"path","description":"Bojxona so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Bojxona so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Bojxona so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/notary":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Notarial so'rovlar ro'yxati","description":"Notariat tizimiga yuborilgan barcha so'rovlar ro'yxatini olish. So'rov turi va javob kodi bo'yicha filtrlash mumkin.","operationId":"93ddc208be5621c63710e94a1a1dd5b0","parameters":[{"name":"type_id","in":"query","description":"So'rov turi ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"code","in":"query","description":"Javob kodi bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Notarial so'rovlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/notary\/{notaryRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Notarial so'rov ma'lumotlari","description":"Bitta notarial so'rovning batafsil ma'lumotlarini olish, jumladan garov va taqiq ma'lumotlari.","operationId":"5a484934e2524872f1f1f57c026df2e2","parameters":[{"name":"notaryRequest","in":"path","description":"Notarial so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Notarial so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Notarial so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/notary-acts":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Notarial aktlar ro'yxati","description":"Notariat tizimidan olingan barcha aktlar ro'yxatini olish. Aktlar notarial harakatlar tarixini o'z ichiga oladi.","operationId":"492ed21a2d7b1a24acb501c5a2bdead7","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Notarial aktlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/auction":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Auksion so'rovlari ro'yxati","description":"Auksion savdo tizimiga yuborilgan barcha so'rovlar ro'yxatini olish. Javob kodi bo'yicha filtrlash mumkin.","operationId":"ccaec222682dcdc2be2992b9f1ef8c11","parameters":[{"name":"response_code","in":"query","description":"Javob kodi bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Auksion so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/auction\/{auctionRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Auksion so'rov ma'lumotlari","description":"Bitta auksion so'rovining batafsil ma'lumotlarini olish, jumladan lot va xarid tasdiqlash ma'lumotlari.","operationId":"02a2c1a6c9ea303f9f2643284b5f001a","parameters":[{"name":"auctionRequest","in":"path","description":"Auksion so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Auksion so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Auksion so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/uzauto":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"UzAuto so'rovlari ro'yxati","description":"UzAuto zavodi tizimiga yuborilgan barcha so'rovlar ro'yxatini olish. Ishlab chiqarish ma'lumotlari bo'yicha tarix.","operationId":"debd568e01ace8972d3dd7cf728d728f","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"UzAuto so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/uzauto\/{uzautoRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"UzAuto so'rov ma'lumotlari","description":"Bitta UzAuto so'rovining batafsil ma'lumotlarini olish, jumladan zavod ishlab chiqarish va shassi ma'lumotlari.","operationId":"57a3c1a866c554e9115dcc4bd3217375","parameters":[{"name":"uzautoRequest","in":"path","description":"UzAuto so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"UzAuto so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"UzAuto so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/minstroy":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Minstroy so'rovlari ro'yxati","description":"Qurilish vazirligi (Minstroy) tizimiga yuborilgan barcha so'rovlar ro'yxatini olish. Tashkilotlar bo'yicha tekshiruv tarixi.","operationId":"3a00c5f7430532ace7bd3cb15b5107fd","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Minstroy so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/minstroy\/{minstroyRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Minstroy so'rov ma'lumotlari","description":"Bitta Qurilish vazirligi so'rovining batafsil ma'lumotlarini olish, jumladan tashkilot faoliyati haqidagi ma'lumotlar.","operationId":"d60a60b4dc5ff1d71eb64a287fefa93f","parameters":[{"name":"minstroyRequest","in":"path","description":"Minstroy so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Minstroy so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Minstroy so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/agriculture":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Qishloq xo'jaligi so'rovlari ro'yxati","description":"Qishloq xo'jaligi vazirligi tizimiga yuborilgan barcha so'rovlar ro'yxatini olish. Fermer va dehqon xo'jaliklari bo'yicha tekshiruv tarixi.","operationId":"b8b383d6c992514199f3d2da59bb5c0c","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, -1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Qishloq xo'jaligi so'rovlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/agriculture\/{agricultureRequest}":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Qishloq xo'jaligi so'rov ma'lumotlari","description":"Bitta Qishloq xo'jaligi vazirligi so'rovining batafsil ma'lumotlarini olish, jumladan fermer xo'jaligi haqidagi ma'lumotlar.","operationId":"6c199cf3d22850764ed60fc6c284c396","parameters":[{"name":"agricultureRequest","in":"path","description":"Qishloq xo'jaligi so'rov ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Qishloq xo'jaligi so'rov ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Qishloq xo'jaligi so'rov topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/external\/statistics":{"get":{"tags":["Agroteh Service","Tashqi xizmatlar"],"summary":"Barcha tashqi tizimlar statistikasi","description":"Barcha tashqi davlat tizimlari (DSI, MIB, Bojxona, Notariat, Auksion, UzAuto, Minstroy, Qishloq xo'jaligi) bo'yicha umumiy statistikani olish. Har bir tizim uchun jami, muvaffaqiyatli, xatolik va bugungi so'rovlar soni ko'rsatiladi.","operationId":"6a66cf5f277bfe5b3bf00f0f1ddbcb1b","responses":{"200":{"description":"Umumiy statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ExternalServiceStatistics"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/factories":{"get":{"tags":["Agroteh Service","Zavodlar"],"summary":"Zavodlar ro'yxati","description":"Barcha zavodlar ro'yxatini olish. Qidiruv, faollik filtri va sahifalash mavjud. `per_page=-1` bo'lsa barcha zavodlar qaytadi (dropdown uchun).","operationId":"1267824343306b987972a610ba0b4295","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string","example":"Toshkent"}},{"name":"is_active","in":"query","description":"Faollik bo'yicha filtr","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Zavodlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/FactoryResponse"}},"meta":{"description":"Sahifalash (per_page=-1 da yo'q)","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Zavodlar"],"summary":"Yangi zavod qo'shish","description":"Yangi ishlab chiqaruvchi zavodini yaratish. Nom majburiy, kod, mamlakat va manzil ixtiyoriy.","operationId":"afc3de2216efd4f3054f353584615477","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Zavod nomi","type":"string","example":"Toshkent traktorzavodi","maxLength":255},"code":{"description":"Zavod kodi (ixtiyoriy)","type":"string","example":"TTZ","nullable":true,"maxLength":50},"country":{"description":"Mamlakat nomi","type":"string","example":"O'zbekiston","nullable":true,"maxLength":100},"address":{"description":"Zavod manzili","type":"string","example":"Toshkent shahri, Chilonzor tumani","nullable":true,"maxLength":500}},"type":"object"}}}},"responses":{"201":{"description":"Zavod muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/FactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/factories\/{factory}":{"get":{"tags":["Agroteh Service","Zavodlar"],"summary":"Zavod ma'lumotlari","description":"Bitta zavodning to'liq ma'lumotlarini olish. Tegishli texnikalar soni ham qaytadi (vehicles_count).","operationId":"617247dbac273c270b8adf3df3529ca4","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Zavod ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/FactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Zavodlar"],"summary":"Zavodni yangilash","description":"Mavjud zavod ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"44e78926c6f6e944c3df9e6a6a0545a5","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Zavod nomi","type":"string","example":"Toshkent traktorzavodi","maxLength":255},"code":{"description":"Zavod kodi","type":"string","example":"TTZ","maxLength":50},"country":{"description":"Mamlakat nomi","type":"string","example":"O'zbekiston","maxLength":100},"address":{"description":"Zavod manzili","type":"string","example":"Toshkent shahri, Chilonzor tumani","maxLength":500}},"type":"object"}}}},"responses":{"200":{"description":"Zavod yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/FactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Zavodlar"],"summary":"Zavodni o'chirish","description":"Zavodni o'chirish. Agar zavodga tegishli texnikalar mavjud bo'lsa, avval ularni boshqa zavodga o'tkazish kerak.","operationId":"26c444afbaf04d6f004a802bd2c99d98","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Zavod o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"},"422":{"description":"Zavodga tegishli texnikalar mavjud \u2014 o'chirib bo'lmaydi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayllar ro'yxati","operationId":"f3eae64fd92e2eaeae6629be0459ec9b","parameters":[{"name":"attachable_type","in":"query","schema":{"type":"string"}},{"name":"attachable_id","in":"query","schema":{"type":"integer"}},{"name":"collection","in":"query","schema":{"type":"string"}},{"name":"mime_type","in":"query","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/for-model":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Model uchun fayllar","operationId":"822a1b89df83754f50d83a192bf4434b","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string"}},{"name":"id","in":"query","required":true,"schema":{"type":"integer"}},{"name":"collection","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Model uchun barcha fayllarni o'chirish","operationId":"27a21a4298cbd41511ae10547a87a765","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string"}},{"name":"id","in":"query","required":true,"schema":{"type":"integer"}},{"name":"collection","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/statistics":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayl statistikasi","operationId":"cf55d9a8fcb84752fe1daa91701da386","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/upload":{"post":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayl yuklash","operationId":"cc081f4e0271d476f3c5528ba4f32208","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file","attachable_type","attachable_id"],"properties":{"file":{"type":"string","format":"binary"},"attachable_type":{"type":"string","example":"vehicle"},"attachable_id":{"type":"integer","example":1},"collection":{"type":"string","example":"documents","default":"default"},"custom_properties":{"type":"object","example":"{\"description\": \"Texnik pasport nusxasi\"}"}},"type":"object"}}}},"responses":{"201":{"description":"Yuklandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/upload-multiple":{"post":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Bir nechta fayl yuklash","operationId":"5d9da50c34f64c3d277772e987cacc77","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["files","attachable_type","attachable_id"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}},"attachable_type":{"type":"string","example":"vehicle"},"attachable_id":{"type":"integer","example":1},"collection":{"type":"string","example":"photos","default":"default"}},"type":"object"}}}},"responses":{"201":{"description":"Yuklandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/{fileAttachment}":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayl ma'lumotlari","operationId":"08303b4a433603b0d471d89170d0c071","parameters":[{"name":"fileAttachment","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayl ma'lumotlarini yangilash","operationId":"ed0bcd9c00d417f2ef94e0652ed75199","parameters":[{"name":"fileAttachment","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"collection":{"type":"string","example":"documents"},"custom_properties":{"type":"object","example":"{\"description\": \"Yangilangan hujjat\"}"},"order_column":{"type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Faylni o'chirish","operationId":"9b3e1428ebe3f59a0d31acc48d6d2b22","parameters":[{"name":"fileAttachment","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/by-uuid\/{uuid}":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"UUID bo'yicha fayl","operationId":"9e1e0646b8c51a69adce315d77370b5b","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/{fileAttachment}\/download":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Faylni yuklab olish","operationId":"dbbbe2621a31313a74ec3944ce94a2bf","parameters":[{"name":"fileAttachment","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fayl"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/download-by-uuid\/{uuid}":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"UUID bo'yicha yuklab olish","operationId":"c84fdd202d5739d4fb0f969608de1b68","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/reorder":{"post":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Fayllar tartibini o'zgartirish","operationId":"f289940744747fd30c1ebcf12f249b09","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["order"],"properties":{"order":{"type":"array","items":{"type":"integer"},"example":"[1, 3, 2]"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/collections":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Mavjud kolleksiyalar","operationId":"9f4ca6dd63543a3576fba2847692ae9c","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/attachable-types":{"get":{"tags":["Agroteh Service","Fayl biriktirmalar"],"summary":"Qo'llab-quvvatlanadigan model turlari","operationId":"6def1b0fd1a7b8275fe1ebd12db781fb","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/fuel-types":{"get":{"tags":["Agroteh Service","Yoqilg'i turlari"],"summary":"Yoqilg'i turlari ro'yxati","description":"Barcha yoqilg'i turlari ro'yxatini olish. Qidiruv, faollik filtri va sahifalash mavjud. `per_page=-1` bo'lsa barcha yoqilg'i turlari qaytadi (dropdown uchun).","operationId":"c73697aa68ebcf52fad6207bc9df824a","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string","example":"Dizel"}},{"name":"is_active","in":"query","description":"Faollik bo'yicha filtr","schema":{"type":"boolean"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Yoqilg'i turlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/FuelTypeResponse"}},"meta":{"description":"Sahifalash (per_page=-1 da yo'q)","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Yoqilg'i turlari"],"summary":"Yangi yoqilg'i turi qo'shish","description":"Yangi yoqilg'i turini yaratish. Nom majburiy, kod va faollik holati ixtiyoriy.","operationId":"4c3f26104f333e3e8b0e3f527fde68c0","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Yoqilg'i turi nomi","type":"string","example":"Dizel","maxLength":100},"code":{"description":"Yoqilg'i turi kodi (ixtiyoriy)","type":"string","example":"DZL","nullable":true,"maxLength":20},"is_active":{"description":"Faollik holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Yoqilg'i turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yoqilg'i turi yaratildi"},"data":{"$ref":"#\/components\/schemas\/FuelTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/fuel-types\/{fuelType}":{"get":{"tags":["Agroteh Service","Yoqilg'i turlari"],"summary":"Yoqilg'i turi ma'lumotlari","description":"Bitta yoqilg'i turining to'liq ma'lumotlarini olish.","operationId":"cd62500ec7ce58c4e1332e43856ada2b","parameters":[{"name":"fuelType","in":"path","description":"Yoqilg'i turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Yoqilg'i turi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/FuelTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Yoqilg'i turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Yoqilg'i turlari"],"summary":"Yoqilg'i turini yangilash","description":"Mavjud yoqilg'i turi ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"316993db35103a0d169a8973d1358012","parameters":[{"name":"fuelType","in":"path","description":"Yoqilg'i turi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Yoqilg'i turi nomi","type":"string","example":"Dizel","maxLength":100},"code":{"description":"Yoqilg'i turi kodi","type":"string","example":"DZL","maxLength":20},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Yoqilg'i turi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yoqilg'i turi yangilandi"},"data":{"$ref":"#\/components\/schemas\/FuelTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Yoqilg'i turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Yoqilg'i turlari"],"summary":"Yoqilg'i turini o'chirish","description":"Yoqilg'i turini o'chirish. O'chirilgan yoqilg'i turi dropdown da ko'rinmaydi.","operationId":"a6b0b7872add82845a482379d11abf7c","parameters":[{"name":"fuelType","in":"path","description":"Yoqilg'i turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Yoqilg'i turi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yoqilg'i turi o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Yoqilg'i turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'riklar ro'yxati (medlist)","description":"Barcha texnik ko'riklar ro'yxatini filtrlash imkoniyati bilan olish (uzagroteh-main medlist bilan bir xil)","operationId":"088ecc4915970a207f5dc5ffbfe8312f","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Qidirish (PINFL, INN, FIO, talon raqami)","schema":{"type":"string"}},{"name":"type_id","in":"query","description":"Tekshiruv turi","schema":{"type":"string","enum":["mandatory","general"]}},{"name":"condition","in":"query","description":"Natija (pass\/fail)","schema":{"type":"string","enum":["pass","fail"]}},{"name":"status","in":"query","description":"Holat","schema":{"type":"string","enum":["active","inactive","cancelled"]}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID","schema":{"type":"integer"}},{"name":"from","in":"query","description":"Boshlanish sanasi (alias: date_from)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (alias: date_to)","schema":{"type":"string","format":"date"}},{"name":"talonno","in":"query","description":"Talon raqami","schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"is_expired","in":"query","description":"Muddati o'tgan\/o'tmagan","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/statistics":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'riklar statistikasi","description":"Texnik ko'riklar bo'yicha umumiy statistika (uzagroteh-main bilan bir xil)","operationId":"b48428cc61f3a352adb3bd87a2df28d3","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":200},"active":{"type":"integer","example":180},"inactive":{"type":"integer","example":20},"passed":{"type":"integer","example":170},"failed":{"type":"integer","example":30},"mandatory":{"type":"integer","example":150},"general":{"type":"integer","example":50},"expired":{"type":"integer","example":10},"expiring_soon":{"type":"integer","example":15},"total_amount":{"type":"number","example":5000000}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/expiring":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Muddati o'tayotgan texnik ko'riklar","description":"Yaqin kunlarda muddati tugaydigan texnik ko'riklar ro'yxati","operationId":"76a691481a413bdd2f3c603cc9d4b345","parameters":[{"name":"days","in":"query","description":"Kunlar soni (default: 30)","schema":{"type":"integer","default":30}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/expired":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Muddati o'tgan texnik ko'riklar","description":"Muddati o'tib ketgan texnik ko'riklar ro'yxati","operationId":"cfba104a09add6f64a11d07f764c266c","parameters":[{"name":"per_page","in":"query","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'rik ma'lumotlari","description":"Bitta texnik ko'rik haqida to'liq ma'lumot","operationId":"e6dbc9c8ce6dcd0a28daf68b0cfd68ae","parameters":[{"name":"inspection","in":"path","description":"Texnik ko'rik ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/vehicle\/{vehicleId}\/history":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Transport vositaning texnik ko'rik tarixi","description":"Transport vositaning barcha texnik ko'riklari tarixi","operationId":"7c01b83edfc1e99de03303ce41bb20dc","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/find":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'rikni qidirish","description":"Texnik ko'rikni talon raqami bo'yicha qidirish","operationId":"483844b67e47e54afbd96e162927c652","parameters":[{"name":"talonno","in":"query","description":"Talon raqami","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Transport vositani tekshirish","description":"Transport vositaga texnik ko'rik o'tkazish mumkinligini tekshirish","operationId":"c1db8a9944e5d9118a97eb2457a9d6fb","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"can_create":{"type":"boolean"},"has_active":{"type":"boolean"},"active_inspection":{"type":"object","nullable":true},"last_inspection":{"type":"object","nullable":true},"total_inspections":{"type":"integer"},"is_expired":{"type":"boolean"},"days_since_last":{"type":"integer","nullable":true},"message":{"type":"string"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Mijozning texnik ko'riklar tarixi","description":"Mijozning barcha texnik ko'riklari tarixi va statistikasi","operationId":"8f427e1d457cf29be1df393d01f1ee8c","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean"},"data":{"properties":{"inspections":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResource"}},"statistics":{"properties":{"total":{"type":"integer"},"active":{"type":"integer"},"passed":{"type":"integer"},"failed":{"type":"integer"},"mandatory":{"type":"integer"},"general":{"type":"integer"},"expired":{"type":"integer"},"total_amount":{"type":"number"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/mandatory":{"post":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Majburiy texnik ko'rik yaratish","description":"Transport vosita uchun majburiy texnik ko'rik yaratish (uzagroteh-main medadd bilan bir xil)","operationId":"9bcfe01c0bd3cd8e6e6f397574837059","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id","owner_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"condition":{"description":"Tekshiruv natijasi","type":"string","example":"pass","enum":["pass","fail"]},"date":{"type":"string","format":"date","example":"2024-01-15"},"expire_date":{"type":"string","format":"date","example":"2025-01-15","nullable":true},"talonno":{"description":"Dalolatnoma raqami (avtomatik generatsiya)","type":"string","example":"M26001000001","nullable":true},"note":{"type":"string","example":"Majburiy texnik ko'rik o'tkazildi","nullable":true},"total_amount":{"type":"number","example":150000,"nullable":true},"payment_type_id":{"description":"To'lov turi ID (yangi invoys yaratish uchun)","type":"integer","nullable":true},"invoice_id":{"description":"Mavjud to'langan invoys ID","type":"integer","nullable":true},"region_id":{"type":"integer","nullable":true},"district_id":{"type":"integer","nullable":true},"free_service":{"description":"Bepul xizmat","type":"boolean","nullable":true},"reason_file":{"description":"Dalolatnoma fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Texnik ko'rik yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Majburiy texnik ko'rik muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"400":{"description":"Mijoz faol emas \/ Texnika tegishli emas"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/general":{"post":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Umumiy texnik ko'rik yaratish","description":"Transport vosita uchun umumiy texnik ko'rik yaratish","operationId":"818348843760c843ada2b483aa2ce01a","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id","owner_id"],"properties":{"vehicle_id":{"type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"condition":{"description":"Tekshiruv natijasi","type":"string","example":"pass","enum":["pass","fail"]},"date":{"type":"string","format":"date","example":"2024-01-15"},"expire_date":{"type":"string","format":"date","example":"2025-01-15","nullable":true},"talonno":{"type":"string","example":"G26001000001","nullable":true},"note":{"type":"string","example":"Umumiy texnik ko'rik o'tkazildi","nullable":true},"total_amount":{"type":"number","example":150000,"nullable":true},"payment_type_id":{"description":"To'lov turi ID (yangi invoys yaratish uchun)","type":"integer","nullable":true},"invoice_id":{"description":"Mavjud to'langan invoys ID","type":"integer","nullable":true},"region_id":{"type":"integer","nullable":true},"district_id":{"type":"integer","nullable":true},"free_service":{"description":"Bepul xizmat","type":"boolean","nullable":true},"reason_file":{"description":"Dalolatnoma fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Texnik ko'rik yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Umumiy texnik ko'rik muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"400":{"description":"Mijoz faol emas yoki texnika tegishli emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnika bu mijozga tegishli emas"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}\/result":{"post":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'rik natijasini belgilash","description":"Texnik ko'rik natijasini (o'tdi\/o'tmadi) belgilash","operationId":"3798fa2f873fcf07b2e96de4553d1982","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["condition"],"properties":{"condition":{"description":"Tekshiruv natijasi","type":"string","example":"pass","enum":["pass","fail"]},"note":{"description":"Izoh (ixtiyoriy)","type":"string","example":"Texnik ko'rik muvaffaqiyatli yakunlandi","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Natija belgilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik ko'rik natijasi belgilandi"},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}\/confirm":{"post":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'rikni tasdiqlash","description":"Texnik ko'rikni tasdiqlash","operationId":"180ad9ed5ed11f9343b3d5d1ab1f72a3","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik ko'rik tasdiqlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik ko'rik tasdiqlandi"},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"},"422":{"description":"Texnik ko'rik allaqachon tasdiqlangan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik ko'rik allaqachon tasdiqlangan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}\/cancel":{"post":{"tags":["Agroteh Service","Texnik ko'rik"],"summary":"Texnik ko'rikni bekor qilish","description":"Texnik ko'rikni bekor qilish","operationId":"fb72aee188d94fe1b6f694588d842358","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik ko'rik bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik ko'rik bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/InspectionResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"},"422":{"description":"Tasdiqlangan texnik ko'rikni bekor qilib bo'lmaydi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Tasdiqlangan texnik ko'rikni bekor qilib bo'lmaydi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/medlist":{"get":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 Bildirishnomalar"],"summary":"Muddati o'tgan texnik ko'riklar bildirishnomasi ro'yxati","description":"uzagroteh-main notification\/medlist bilan bir xil - muddati 1 yildan oshgan majburiy texnik ko'riklar ro'yxati bildirishnoma holati bilan","operationId":"de94873aca297b4d670fcb17b528fd8e","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Qidirish (PINFL, INN, FIO, talon raqami, transport raqami)","schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"notification_status","in":"query","description":"Bildirishnoma holati","schema":{"type":"string","enum":["not_sent","pending","sent","delivered","failed"]}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni","schema":{"type":"integer","default":365}},{"name":"from","in":"query","description":"Tekshiruv sanasi boshlanish","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tekshiruv sanasi tugash","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"talonno":{"type":"string"},"date":{"type":"string","format":"date"},"days_expired":{"type":"integer"},"vehicle":{"type":"object"},"customer":{"type":"object"},"notification":{"type":"object","nullable":true},"notification_status":{"type":"string"}},"type":"object"}},"meta":{"type":"object"},"statistics":{"properties":{"total_expired":{"type":"integer"},"not_notified":{"type":"integer"},"notified":{"type":"integer"},"delivered":{"type":"integer"},"failed":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}\/send-notification":{"post":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 Bildirishnomalar"],"summary":"Texnik ko'rik eslatma SMS yuborish","description":"uzagroteh-main notification\/medlist send bilan bir xil - muddati o'tgan texnik ko'rik uchun SMS yuborish","operationId":"8b6ebf5b2fd21cc09be733071f58b1ba","parameters":[{"name":"inspection","in":"path","description":"Texnik ko'rik ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"properties":{"phone":{"description":"Telefon raqami (ixtiyoriy, mijoz telefoni default)","type":"string","example":"+998901234567"},"text":{"description":"Xabar matni (ixtiyoriy, default shablon)","type":"string","example":"Hurmatli mijoz! Sizning transport vositangiz texnik ko'rik muddati tugagan."}},"type":"object"}}}},"responses":{"200":{"description":"SMS yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"SMS muvaffaqiyatli navbatga qo'shildi"},"data":{"properties":{"message_id":{"type":"integer"},"phone":{"type":"string"},"status":{"type":"string"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"},"422":{"description":"Validatsiya xatosi (telefon raqami yo'q)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/medlist\/send-bulk":{"post":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 Bildirishnomalar"],"summary":"Bir nechta texnik ko'rik uchun SMS yuborish","description":"uzagroteh-main notification\/medlist bulk send bilan bir xil - bir nechta muddati o'tgan texnik ko'riklar uchun SMS yuborish","operationId":"041595464211c1738e14aba84d8d87d7","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inspection_ids"],"properties":{"inspection_ids":{"description":"Texnik ko'rik ID lari","type":"array","items":{"type":"integer"},"example":[1,2,3]},"text":{"description":"Xabar matni (ixtiyoriy, default shablon)","type":"string","example":"Hurmatli mijoz! Sizning transport vositangiz texnik ko'rik muddati tugagan."}},"type":"object"}}}},"responses":{"200":{"description":"SMS lar yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"properties":{"total":{"type":"integer"},"sent":{"type":"integer"},"skipped":{"type":"integer"},"skipped_reasons":{"type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/medlist\/statistics":{"get":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 Bildirishnomalar"],"summary":"Medlist statistikasi","description":"Muddati o'tgan texnik ko'riklar va bildirishnomalar statistikasi","operationId":"0ff8db9bc8e3df876b509fef5b02acef","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni","schema":{"type":"integer","default":365}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total_expired":{"type":"integer"},"not_notified":{"type":"integer"},"pending":{"type":"integer"},"sent":{"type":"integer"},"delivered":{"type":"integer"},"failed":{"type":"integer"},"by_region":{"type":"array","items":{"type":"object"}},"by_days_expired":{"type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/medlist\/pdf":{"get":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 PDF"],"summary":"Muddati o'tgan texnik ko'riklar PDF hisoboti","description":"uzagroteh-main med-pdf-list bilan bir xil - muddati o'tgan texnik ko'riklar ro'yxatini PDF formatda yuklab olish","operationId":"eaa33c9ad965cd6b4d9410e2b8a16787","parameters":[{"name":"search","in":"query","description":"Qidirish (PINFL, INN, FIO, talon raqami)","schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"notification_status","in":"query","description":"Bildirishnoma holati","schema":{"type":"string","enum":["not_sent","pending","sent","delivered","failed"]}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni","schema":{"type":"integer","default":365}},{"name":"from","in":"query","description":"Tekshiruv sanasi boshlanish","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tekshiruv sanasi tugash","schema":{"type":"string","format":"date"}},{"name":"limit","in":"query","description":"Maksimal yozuvlar soni (default: 500)","schema":{"type":"integer","default":500}}],"responses":{"200":{"description":"PDF fayl","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/{inspection}\/pdf":{"get":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 PDF"],"summary":"Texnik ko'rik akti PDF","description":"Bitta texnik ko'rik aktini PDF formatda yuklab olish","operationId":"dc7da6d254d4ce9b2058097fbc190186","parameters":[{"name":"inspection","in":"path","description":"Texnik ko'rik ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"PDF fayl","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnik ko'rik topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspections\/medlist\/pdf\/preview":{"get":{"tags":["Agroteh Service","Texnik ko'rik","Texnik ko'rik \u2014 PDF"],"summary":"Medlist PDF ko'rish (stream)","description":"Muddati o'tgan texnik ko'riklar PDF hisobotini brauzerda ko'rish","operationId":"e00343a6c11d0fd711f4bad9e9e827e2","parameters":[{"name":"search","in":"query","description":"Qidirish","schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar","schema":{"type":"integer","default":365}},{"name":"limit","in":"query","description":"Maksimal yozuvlar (default: 100)","schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"PDF stream","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/dsi":{"post":{"tags":["Agroteh Service","Integratsiya: DSI (Davlat soliq inspeksiyasi)"],"summary":"DSI taqiq tekshirish","description":"Davlat soliq inspeksiyasi tizimida transport vosita yoki shaxs bo'yicha taqiqni tekshirish. So'rov natijalari bazaga saqlanadi va keyinchalik tarix sifatida ko'rish mumkin.","operationId":"e4593a8723faa739b8819b64954849ad","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"pinfl":{"description":"Shaxs PINFL (14 raqam)","type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"DSI tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"DSI tekshiruvi muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/DsiCheckResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/mib":{"post":{"tags":["Agroteh Service","Integratsiya: MIB (Majburiy ijro byurosi)"],"summary":"MIB qarzdorlik tekshirish","description":"Majburiy ijro byurosi (MIB) tizimida jismoniy yoki yuridik shaxs bo'yicha qarzdorlik mavjudligini tekshirish. PINFL yoki INN orqali so'rov yuboriladi.","operationId":"08079d4fe91777ea97a322713f4b61cc","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"pinfl":{"description":"Jismoniy shaxs PINFL (14 raqam)","type":"string","example":"12345678901234"},"inn":{"description":"Yuridik shaxs INN (9 raqam)","type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"MIB tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"MIB tekshiruvi muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/MibCheckResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/customs":{"post":{"tags":["Agroteh Service","Integratsiya: Bojxona (GTK)"],"summary":"Bojxona tekshiruvi","description":"Bojxona qo'mitasi tizimida transport vositaning import rasmiylashtiruvi (deklaratsiya) holatini tekshirish. Transport vosita ID yoki deklaratsiya raqami bo'yicha so'rov yuboriladi.","operationId":"b4193ed7fd6bc1486e7f293599579407","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"declaration_number":{"description":"Bojxona deklaratsiyasi raqami","type":"string","example":"DK-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Bojxona tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Bojxona tekshiruvi muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/CustomsCheckResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/tax":{"post":{"tags":["Agroteh Service","Integratsiya: Soliq qo'mitasi"],"summary":"Soliq taqiqlarini tekshirish","description":"Soliq qo'mitasi tizimida transport vosita bo'yicha faol taqiqlar mavjudligini tekshirish. Agar taqiq mavjud bo'lsa, texnikani ro'yxatga olish yoki boshqa operatsiyalar cheklangan bo'ladi.","operationId":"bfaee31a5416c8f55b7220845e980643","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Soliq tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Soliq tekshiruvi muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TaxCheckResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/notary":{"post":{"tags":["Agroteh Service","Integratsiya: Notariat xizmati"],"summary":"Notarius tekshiruvi","description":"Notariat tizimida transport vosita bo'yicha garov, taqiq yoki boshqa cheklovlar mavjudligini tekshirish. Notariat xizmati bilan real-time integratsiya orqali amalga oshiriladi.","operationId":"f4f670829dab9c4130b2aed6114964e7","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Notarius tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Notarius tekshiruvi muvaffaqiyatli"},"data":{"properties":{"has_prohibition":{"description":"Taqiq mavjudligi","type":"boolean"},"data":{"description":"Notariat tizimidan olingan batafsil ma'lumotlar","type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"},"503":{"description":"Notariat xizmati vaqtincha ishlamayapti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/uzauto":{"post":{"tags":["Agroteh Service","Integratsiya: UzAuto zavodi"],"summary":"UzAuto zavod ma'lumotlari","description":"UzAuto zavodining ichki tizimidan transport vosita ishlab chiqarish ma'lumotlarini olish. Shassi raqami yoki dvigatel raqami bo'yicha qidiriladi.","operationId":"9befdd92ed6d6ad8851ec731608e4c35","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"chassis_no":{"description":"Shassi raqami","type":"string","example":"XTA210900Y2345678"},"engine_no":{"description":"Dvigatel raqami","type":"string","example":"Y2345678"}},"type":"object"}}}},"responses":{"200":{"description":"UzAuto ma'lumotlari muvaffaqiyatli olingan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"UzAuto tekshiruvi muvaffaqiyatli"},"data":{"description":"UzAuto zavodidan olingan transport vosita ishlab chiqarish ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"},"503":{"description":"UzAuto xizmati vaqtincha ishlamayapti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/auction":{"post":{"tags":["Agroteh Service","Integratsiya: E-ijro Auksion"],"summary":"Auksion tekshiruvi","description":"Auksion savdo tizimida lot raqami bo'yicha xarid amalga oshirilganligini tasdiqlash. Davlat mulkini xususiylashtirishda ishtirok etgan transport vositalar uchun ishlatiladi.","operationId":"1a0fb2f2a86aff5120780dc0ffa2d9f1","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["lot_number"],"properties":{"lot_number":{"description":"Auksion lot raqami","type":"string","example":"LOT-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Auksion tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Auksion tekshiruvi muvaffaqiyatli"},"data":{"description":"Auksion tizimidan olingan lot va xarid ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"},"503":{"description":"Auksion xizmati vaqtincha ishlamayapti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/minstroy":{"post":{"tags":["Agroteh Service","Integratsiya: Qurilish vazirligi"],"summary":"Qurilish vazirligi tekshiruvi","description":"Qurilish vazirligi (Minstroy) tizimida tashkilot haqidagi ma'lumotlarni tekshirish. INN orqali tashkilotning qurilish sohasidagi faoliyati haqida so'rov yuboriladi.","operationId":"4b5a998318e20094e4c569b96903c814","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"description":"Tashkilot INN (9 raqam)","type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Qurilish vazirligi tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Qurilish vazirligi tekshiruvi muvaffaqiyatli"},"data":{"description":"Qurilish vazirligi tizimidan olingan tashkilot ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"},"503":{"description":"Qurilish vazirligi xizmati vaqtincha ishlamayapti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/agriculture":{"post":{"tags":["Agroteh Service","Integratsiya: Qishloq xo'jaligi vazirligi"],"summary":"Qishloq xo'jaligi tekshiruvi","description":"Qishloq xo'jaligi vazirligi tizimida fermer xo'jaligi yoki dehqon xo'jaligi haqidagi ma'lumotlarni tekshirish. INN yoki PINFL orqali qidiriladi.","operationId":"ceef985180133046ae603a42ace1517b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"inn":{"description":"Tashkilot INN (9 raqam)","type":"string","example":"123456789"},"pinfl":{"description":"Jismoniy shaxs PINFL (14 raqam)","type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Qishloq xo'jaligi tekshiruvi muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Qishloq xo'jaligi tekshiruvi muvaffaqiyatli"},"data":{"description":"Qishloq xo'jaligi tizimidan olingan fermer xo'jaligi ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"},"503":{"description":"Qishloq xo'jaligi xizmati vaqtincha ishlamayapti"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/integrations\/full-check":{"post":{"tags":["Agroteh Service","Integratsiya: Kompleks tekshiruv"],"summary":"Kompleks tekshiruv","description":"Barcha davlat tizimlari (DSI, Soliq, MIB va boshqalar) bo'yicha transport vosita va egasini bir yo'la kompleks tekshirish. Natijada har bir tizim bo'yicha alohida natija va umumiy xulosa qaytariladi. Agar biron-bir tizimda taqiq aniqlansa, jarayonni davom ettirish mumkin emasligi ko'rsatiladi.","operationId":"559c1b9193872c2c3485f3c98062b39e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_pinfl":{"description":"Egasining PINFL (14 raqam) \u2014 MIB tekshiruvi uchun","type":"string","example":"12345678901234"},"owner_inn":{"description":"Egasining INN (9 raqam) \u2014 MIB tekshiruvi uchun","type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Kompleks tekshiruv muvaffaqiyatli amalga oshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Kompleks tekshiruv muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/FullCheckResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 noto'g'ri parametrlar kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoyslar ro'yxatini olish","description":"Barcha invoyslar ro'yxatini turli filtrlar (sana, holat, viloyat, tuman, kategoriya, to'lov turi va boshqalar) orqali filtrlash imkoniyati bilan olish. Sahifalash qo'llab-quvvatlanadi.","operationId":"bc7d90facaef99e1846d581b3a3b6efa","parameters":[{"name":"per_page","in":"query","description":"Har bir sahifadagi yozuvlar soni (max 100, -1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidirish (invoys raqami yoki STIR bo'yicha)","required":false,"schema":{"type":"string"}},{"name":"invoice_id","in":"query","description":"Invoys raqami bo'yicha filtrlash","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Holat bo'yicha filtrlash","required":false,"schema":{"type":"string","enum":["pending","paid","cancelled"]}},{"name":"state","in":"query","description":"Holat kodi bo'yicha filtrlash (0: bekor, 1: kutilmoqda, 2: to'langan, 3: foydalanilgan)","required":false,"schema":{"type":"integer"}},{"name":"customer_id","in":"query","description":"Mijoz IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"tin","in":"query","description":"STIR yoki JSHSHIR bo'yicha filtrlash","required":false,"schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"category_id","in":"query","description":"To'lov kategoriyasi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"To'lov turi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"invoiceable_type","in":"query","description":"Polimorfik bog'lanish turi bo'yicha filtrlash (registration, inspection va h.k.)","required":false,"schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"is_paid","in":"query","description":"To'langan yoki to'lanmagan invoyslarni filtrlash","required":false,"schema":{"type":"boolean"}},{"name":"free_service","in":"query","description":"Bepul xizmat invoyslarini filtrlash","required":false,"schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilgan invoyslarni ham ko'rsatish","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Invoyslar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-fakturalar ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":100},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":7},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string","example":"\/api\/v1\/invoices?page=1"},"last":{"type":"string","example":"\/api\/v1\/invoices?page=7"},"prev":{"type":"string","example":null,"nullable":true},"next":{"type":"string","example":"\/api\/v1\/invoices?page=2","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"per_page\": [\"per_page maydoni butun son bo'lishi kerak\"]}"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Yangi invoys yaratish","description":"Mijoz va to'lov turi asosida yangi invoys yaratish. Agar summa berilmasa, to'lov turi va BHM (bazaviy hisoblash miqdori) asosida avtomatik hisoblanadi. mark_as_paid parametri orqali darhol to'langan deb belgilash mumkin.","operationId":"2a3d332a2b06bcf3aa6a68444f786beb","requestBody":{"description":"Invoys yaratish uchun zarur ma'lumotlar","required":true,"content":{"application\/json":{"schema":{"required":["customer_id","type_id"],"properties":{"customer_id":{"description":"Mijoz IDsi (customer_invoices jadvalidagi customer_id)","type":"integer","example":1},"type_id":{"description":"To'lov turi IDsi (payment_types jadvalidan)","type":"integer","example":1},"category_id":{"description":"To'lov kategoriyasi IDsi (ixtiyoriy, agar berilmasa type_id dan olinadi)","type":"integer","example":1},"amount":{"description":"Invoys summasi tiyinda (ixtiyoriy, berilmasa avtomatik hisoblanadi)","type":"integer","example":50000},"notifiable":{"description":"Mijozga bildirishnoma yuborish kerakligi","type":"boolean","example":true},"mark_as_paid":{"description":"Yaratilgandan keyin darhol to'langan deb belgilash","type":"boolean","example":false}},"type":"object"}}}},"responses":{"201":{"description":"Invoys muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Mijoz yoki to'lov turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"customer_id\": [\"customer_id maydoni majburiy\"]}"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/report":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoyslar hisobotini olish","description":"Viloyat, tuman va to'lov turi bo'yicha guruhlangan moliyaviy hisobot. Hisobotda to'langan, foydalanilgan va umumiy summalar ko'rsatiladi. Default sana oralig'i: joriy chorak boshidan bugunga qadar.","operationId":"8a2e83a05dbad029a343788a0e618b88","parameters":[{"name":"region_id","in":"query","description":"Viloyat IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"category_id","in":"query","description":"To'lov kategoriyasi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"To'lov turi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (default: chorak boshi, format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (default: bugun, format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Hisobot muvaffaqiyatli shakllantirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-fakturalar hisoboti"},"data":{"properties":{"filters":{"description":"Qo'llanilgan filtrlar","type":"object"},"totals":{"description":"Umumiy statistika (total_cnt, total_sum, paid_cnt, paid_sum, processed_cnt, processed_sum)","type":"object"},"payment_categories":{"description":"To'lov kategoriyalari va turlari ro'yxati","type":"array","items":{"type":"object"}},"regions":{"description":"Viloyatlar va tumanlar ro'yxati","type":"array","items":{"type":"object"}},"report_data":{"description":"Viloyat, tuman va to'lov turi bo'yicha guruhlangan hisobot ma'lumotlari","type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/report\/export":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoyslar hisobotini Excel formatida yuklab olish","description":"Viloyat, tuman va to'lov turi bo'yicha guruhlangan hisobotni Excel (.xlsx) fayl sifatida eksport qilish. Filtrlar report endpointi bilan bir xil.","operationId":"b818e30198485e19bc0b34da9c162339","parameters":[{"name":"region_id","in":"query","description":"Viloyat IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"category_id","in":"query","description":"To'lov kategoriyasi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"To'lov turi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli yuklandi","content":{"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{id}\/redo":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoysni qayta faollashtirish","description":"O'chirilgan (state=0) yoki foydalanilgan (state=3) holatdagi invoysni to'langan (state=2) holatiga qaytarish. Boshqa holatlardagi invoyslar uchun xatolik qaytariladi.","operationId":"b2b5d2a4e43a00bf17480298cc12da17","parameters":[{"name":"id","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys muvaffaqiyatli qayta faollashtirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura qayta faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}},"422":{"description":"Invoys holati qayta faollashtirishga mos emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat ishlatilgan yoki o'chirilgan hisob-fakturalarni qayta faollashtirish mumkin"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payment-types":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"To'lov turlarini olish","description":"Invoys yaratish uchun mavjud bo'lgan barcha to'lov turlarini olish. Har bir tur uchun BHM (bazaviy hisoblash miqdori) asosida hisoblangan summa ko'rsatiladi. Kategoriya bo'yicha filtrlash mumkin.","operationId":"88adb7d9039307c98a5751c52436024c","parameters":[{"name":"category_id","in":"query","description":"To'lov kategoriyasi IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turlari"},"data":{"properties":{"bhm":{"description":"Joriy bazaviy hisoblash miqdori (tiyinda)","type":"integer","example":340000},"types":{"description":"To'lov turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Texnika ro'yxatga olish"},"category_id":{"type":"integer","example":1},"category_name":{"type":"string","example":"Ro'yxatga olish"},"amount":{"type":"number","example":0.5},"payment":{"type":"number","example":170000},"calculated_amount":{"type":"integer","example":170000}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payment-categories":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"To'lov kategoriyalarini olish","description":"Invoys yaratish uchun mavjud bo'lgan barcha to'lov kategoriyalarini va ularga tegishli to'lov turlarini olish. vehicle_out va vehicle_tm kategoriyalari chiqarib tashlanadi.","operationId":"00ce06246b38c4876665623afec4f085","responses":{"200":{"description":"To'lov kategoriyalari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov kategoriyalari"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Ro'yxatga olish"},"code":{"type":"string","example":"registration"},"types":{"description":"Kategoriyaga tegishli to'lov turlari","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Texnika ro'yxatga olish"},"amount":{"type":"number","example":0.5},"payment":{"type":"number","example":170000}},"type":"object"}}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/statistics":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoyslar statistikasini olish","description":"Invoyslar bo'yicha umumiy statistik ma'lumotlar: holat bo'yicha soni va summasi, kategoriya bo'yicha taqsimot, bugungi va joriy oydagi ko'rsatkichlar. Viloyat, tuman va sana oralig'i bo'yicha filtrlash mumkin.","operationId":"70fc3444b28211327815110da7b2177c","parameters":[{"name":"region_id","in":"query","description":"Viloyat IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman IDsi bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-fakturalar statistikasi"},"data":{"properties":{"total_count":{"description":"Umumiy invoyslar soni","type":"integer","example":1500},"paid_count":{"description":"To'langan invoyslar soni","type":"integer","example":1200},"pending_count":{"description":"Kutilayotgan invoyslar soni","type":"integer","example":200},"cancelled_count":{"description":"Bekor qilingan invoyslar soni","type":"integer","example":50},"used_count":{"description":"Foydalanilgan invoyslar soni","type":"integer","example":50},"free_count":{"description":"Bepul xizmat invoyslar soni","type":"integer","example":30},"total_amount":{"description":"Umumiy summa (tiyinda)","type":"number","example":75000000},"paid_amount":{"description":"To'langan summa (tiyinda)","type":"number","example":60000000},"pending_amount":{"description":"Kutilayotgan summa (tiyinda)","type":"number","example":10000000},"by_state":{"description":"Holat bo'yicha taqsimot","type":"object"},"by_category":{"description":"Kategoriya bo'yicha taqsimot","type":"array","items":{"type":"object"}},"today":{"description":"Bugungi ko'rsatkichlar (count, amount, paid_count, paid_amount)","type":"object"},"this_month":{"description":"Joriy oy ko'rsatkichlari (count, amount)","type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/trashed":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"O'chirilgan invoyslar ro'yxatini olish","description":"Soft delete qilingan (o'chirilgan) invoyslar ro'yxatini sahifalash bilan olish. O'chirish vaqti bo'yicha tartiblangan.","operationId":"1f9693510292b1217aed04e9b05cee8d","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Har bir sahifadagi yozuvlar soni","required":false,"schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"O'chirilgan invoyslar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"O'chirilgan hisob-fakturalar"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":25},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":2},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Bitta invoys ma'lumotlarini olish","description":"Invoys IDsi bo'yicha to'liq ma'lumotlarni olish. Mijoz, kategoriya, tur, viloyat, tuman, tranzaksiyalar va polimorfik bog'lanish ma'lumotlari ham yuklanadi.","operationId":"e4fea93d387cc4c1293ced38945196ac","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura ma'lumotlari"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/find\/{invoiceId}":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoys raqami bo'yicha qidirish","description":"Tizim tomonidan generatsiya qilingan invoys raqami (masalan, INV-20240115-001) bo'yicha invoysni qidirish.","operationId":"49fd023875f88628fc50cc9d89ad0e64","parameters":[{"name":"invoiceId","in":"path","description":"Invoys raqami (masalan, INV-20240115-001)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invoys muvaffaqiyatli topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura topildi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/find-by-unique\/{uniqueId}":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Noyob identifikator bo'yicha invoysni qidirish","description":"Tuman kodi + to'lov turi kodi + invoys raqamidan tashkil topgan noyob identifikator (masalan, 002601INV-20240115-001) bo'yicha invoysni qidirish. Format: DDDDTTXXXXXXXX (D - tuman kodi 4 ta raqam, T - tur kodi 2 ta raqam, X - invoys raqami).","operationId":"4d415a562916668b0d3bab0aee19944c","parameters":[{"name":"uniqueId","in":"path","description":"Noyob identifikator (masalan, 002601INV-20240115-001)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invoys muvaffaqiyatli topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura topildi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}},"422":{"description":"Noto'g'ri unique ID formati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Noto'g'ri unique ID formati"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/customer\/{customerId}":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Mijozning barcha invoyslarini olish","description":"Berilgan mijoz IDsi bo'yicha unga tegishli barcha invoyslar ro'yxatini sahifalash bilan olish. Holat (state) bo'yicha filtrlash mumkin. Polimorfik bog'lanish ma'lumotlari ham yuklanadi.","operationId":"22475618708d3809f56b96f480e23fe2","parameters":[{"name":"customerId","in":"path","description":"Mijoz IDsi","required":true,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Har bir sahifadagi yozuvlar soni","required":false,"schema":{"type":"integer","default":15}},{"name":"status","in":"query","description":"Holat kodi bo'yicha filtrlash (0: bekor, 1: kutilmoqda, 2: to'langan, 3: foydalanilgan)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Mijozning invoyslar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mijozning hisob-fakturalari"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":10},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":10}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/qr-code":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoys uchun QR kod olish","description":"Invoys uchun to'lov QR kodini va to'lov tizimlari (Click, Payme) havolalarini olish. QR kod base64 formatda qaytariladi.","operationId":"b4b324e17b78c040d39ee51f8c6dd76b","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"QR kod va to'lov havolalari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"QR kod"},"data":{"properties":{"invoice_id":{"description":"Invoys yozuvi IDsi","type":"integer","example":1},"unique_id":{"description":"Noyob identifikator","type":"string","example":"002601INV-20240115-001"},"amount":{"description":"Invoys summasi (tiyinda)","type":"number","example":150000},"pretty_amount":{"description":"Formatlangan summa","type":"string","example":"1 500"},"qr_code":{"description":"QR kod rasmi (base64 formatda)","type":"string","example":"data:image\/png;base64,..."},"payment_links":{"description":"To'lov tizimlari havolalari","properties":{"click":{"description":"Click to'lov tizimi havolasi","type":"string"},"payme":{"description":"Payme to'lov tizimi havolasi","type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/mark-paid":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoysni to'langan deb belgilash","description":"Kutilayotgan (state=1) holatdagi invoysni to'langan (state=2) holatiga o'tkazish. Allaqachon to'langan invoys uchun xatolik qaytariladi.","operationId":"5c7651f154e768b3d049fbb221064645","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys to'langan deb muvaffaqiyatli belgilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura to'langan deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}},"422":{"description":"Invoys allaqachon to'langan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura allaqachon to'langan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/mark-used":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoysni foydalanilgan deb belgilash","description":"To'langan (state=2) holatdagi invoysni foydalanilgan (state=3) holatiga o'tkazish. Faqat to'langan invoyslar uchun ishlaydi. Allaqachon foydalanilgan invoys uchun xatolik qaytariladi.","operationId":"2afac878ce8cf384b231c605eb4b214e","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys foydalanilgan deb muvaffaqiyatli belgilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura foydalanilgan deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}},"422":{"description":"Invoys to'lanmagan yoki allaqachon foydalanilgan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat to'langan hisob-fakturani ishlatish mumkin"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/cancel":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoysni bekor qilish","description":"Kutilayotgan (state=1) holatdagi invoysni bekor qilish (state=0). To'langan invoysni bekor qilib bo'lmaydi \u2014 avval qayta faollashtirish kerak.","operationId":"131b8ba4212a1041765d0df4ab29c13c","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}},"422":{"description":"To'langan invoysni bekor qilib bo'lmaydi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"To'langan hisob-fakturani bekor qilib bo'lmaydi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{id}\/restore":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"O'chirilgan invoysni tiklash","description":"Soft delete qilingan invoysni tiklash va kutilayotgan (state=1) holatiga qaytarish. Faqat o'chirilgan invoyslar tiklanishi mumkin.","operationId":"43628df07df82f69f5d9098ad15e930d","parameters":[{"name":"id","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys muvaffaqiyatli tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura tiklandi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"O'chirilgan invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"O'chirilgan hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/check-status":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoys to'lov holatini tekshirish","description":"G'aznachilik (Treasury) tizimi orqali invoysning haqiqiy to'lov holatini tekshirish. Invoys ma'lumotlari va g'aznachilik javobini qaytaradi.","operationId":"f6cced95c1e34a4974b69ae2c70dc210","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov holati muvaffaqiyatli tekshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov holati"},"data":{"properties":{"invoice":{"$ref":"#\/components\/schemas\/InvoiceResponse"},"treasury_info":{"description":"G'aznachilik tizimidan olingan to'lov ma'lumotlari","type":"object","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/history":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoys tarixini olish","description":"Invoys ustida bajarilgan barcha amallar (yaratish, to'lash, bekor qilish va h.k.) tarixini olish. Spatie Activity Log orqali qayd etilgan ma'lumotlar qaytariladi.","operationId":"b3875a6e3ce8ff2d5dc675363b842f18","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoys tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hisob-faktura tarixi"},"data":{"properties":{"invoice":{"$ref":"#\/components\/schemas\/InvoiceResponse"},"activities":{"description":"Barcha amallar tarixi (yaratilgan vaqti bo'yicha kamayish tartibida)","type":"array","items":{"properties":{"id":{"type":"integer"},"description":{"type":"string","example":"updated"},"properties":{"type":"object"},"causer":{"description":"Amalni bajargan foydalanuvchi","type":"object","nullable":true},"created_at":{"type":"string","format":"date-time"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/pending-notifications":{"get":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Bildirishnoma kutayotgan invoyslarni olish","description":"Hali bildirishnoma yuborilmagan va kutilayotgan (state=1) holatdagi, bildirishnoma yuborish kerak bo'lgan (notifiable=true, notified=false) invoyslar ro'yxatini olish.","operationId":"45a6d9796be9a0e44cbac9c32d9febbf","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Har bir sahifadagi yozuvlar soni","required":false,"schema":{"type":"integer","default":50}}],"responses":{"200":{"description":"Bildirishnoma kutayotgan invoyslar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Bildirishnoma kutayotgan hisob-fakturalar"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":5},"per_page":{"type":"integer","example":50},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":5}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/{invoice}\/mark-notified":{"post":{"tags":["Agroteh Service","Invoyslar va to'lovlar"],"summary":"Invoysga bildirishnoma yuborilganini belgilash","description":"Invoys uchun bildirishnoma muvaffaqiyatli yuborilganini qayd etish. notified maydoni true ga o'zgartiriladi.","operationId":"140f9ba1cfb1919968afcad73a0dbcfc","parameters":[{"name":"invoice","in":"path","description":"Invoys yozuvi IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Bildirishnoma yuborildi deb muvaffaqiyatli belgilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Bildirishnoma yuborildi deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/InvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi yoki yaroqsiz"}},"type":"object"}}}},"404":{"description":"Invoys topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisob-faktura topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/permissions":{"get":{"tags":["Agroteh Service","Agroteh Permission Management"],"summary":"Ruxsatlar ro'yxati","description":"Agroteh service ruxsatlarini guruhlar bilan olish","operationId":"c3534aaf9dc7c6134bf6baf97623837f","responses":{"200":{"description":"Ruxsatlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ruxsatlar ro'yxati"},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/roles":{"get":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Rollar ro'yxati","description":"Agroteh service rollarini olish","operationId":"5d8e5e7d9b088043ab0a847cc283309d","parameters":[{"name":"with_users","in":"query","description":"Foydalanuvchilar sonini qo'shish","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Rollar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rollar ro'yxati"},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Yangi rol yaratish","description":"Agroteh service uchun yangi rol yaratish","operationId":"18fe92f1256880da24b6a3a01d8fe64e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Rol nomi (faqat kichik harf, raqam va chiziqcha)","type":"string","pattern":"^[a-z0-9-]+$","maxLength":255},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Rol muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/roles\/{role}":{"get":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Rol ma'lumotlari","operationId":"ad8921557b68e64134d10b6bd4f0cae1","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol ma'lumotlari"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Rolni yangilash","description":"Rol ma'lumotlarini yangilash","operationId":"6847a94d4577ce2507dd8018e88e87bd","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Rol nomi (faqat kichik harf, raqam va chiziqcha)","type":"string","pattern":"^[a-z0-9-]+$","maxLength":255},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Rol muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Rolni o'chirish","operationId":"eee2821c97ea76633f90250fb6ed8369","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Rolga biriktirilgan foydalanuvchilar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu rolga biriktirilgan foydalanuvchilar mavjud"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/roles\/{role}\/permissions":{"post":{"tags":["Agroteh Service","Agroteh Role Management"],"summary":"Rol ruxsatlarini yangilash","description":"Rolga ruxsatlarni sinxronlashtirish","operationId":"3438b701f9a9c7579ea48882af8b99ff","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permissions"],"properties":{"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Ruxsatlar muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ruxsatlar muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/users":{"get":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Foydalanuvchilar ro'yxati","description":"Agroteh service foydalanuvchilarini filterlash va sahifalash bilan olish","operationId":"c160c5a00a08205a783c97e9c1d2ad4a","parameters":[{"name":"search","in":"query","description":"Ism, familiya yoki email bo'yicha qidirish","required":false,"schema":{"type":"string","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"role_id","in":"query","description":"Rol ID bo'yicha filterlash","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Foydalanuvchilar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"properties":{"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Yangi foydalanuvchi yaratish","description":"Agroteh service uchun yangi foydalanuvchi yaratish","operationId":"02e0ae6cf61d62dc4820dbf0eb87ecb8","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","lastname","email","password","password_confirmation","roles"],"properties":{"name":{"description":"Ism","type":"string","maxLength":255},"lastname":{"description":"Familiya","type":"string","maxLength":255},"email":{"description":"Email (unikal)","type":"string","format":"email","maxLength":255},"password":{"description":"Parol","type":"string","minLength":8},"password_confirmation":{"description":"Parol tasdiqlash","type":"string"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string","maxLength":20},"mobile_no":{"description":"Mobil telefon raqami","type":"string","maxLength":20},"department_id":{"description":"Bo'lim ID","type":"integer"},"position_id":{"description":"Lavozim ID","type":"integer"},"state_id":{"description":"Viloyat ID","type":"string"},"city_id":{"description":"Tuman ID","type":"string"}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/users\/{user}":{"get":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Foydalanuvchi ma'lumotlari","operationId":"e9f442cd0bcaeed898fc66d0e3bf3051","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Foydalanuvchini yangilash","description":"Foydalanuvchi ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"3cffb77490a5e8500074e8995d97876c","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Ism","type":"string","maxLength":255},"lastname":{"description":"Familiya","type":"string","maxLength":255},"email":{"description":"Email (unikal)","type":"string","format":"email","maxLength":255},"password":{"description":"Parol","type":"string","minLength":8},"password_confirmation":{"description":"Parol tasdiqlash","type":"string"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string","maxLength":20},"mobile_no":{"description":"Mobil telefon raqami","type":"string","maxLength":20},"department_id":{"description":"Bo'lim ID","type":"integer"},"position_id":{"description":"Lavozim ID","type":"integer"},"state_id":{"description":"Viloyat ID","type":"string"},"city_id":{"description":"Tuman ID","type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Foydalanuvchi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Foydalanuvchini o'chirish","operationId":"fe8232d3f26e2221322ab129b35f7520","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"O'zingizni o'chira olmaysiz"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/users\/{id}\/restore":{"post":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"O'chirilgan foydalanuvchini tiklash","operationId":"2d9acf8ecf58a8518dab75cb30edd64b","parameters":[{"name":"id","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli tiklandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agroteh-manage\/users\/{user}\/toggle-status":{"post":{"tags":["Agroteh Service","Agroteh User Management"],"summary":"Foydalanuvchi holatini o'zgartirish","description":"Foydalanuvchining is_active holatini teskari qiymatga o'zgartirish","operationId":"006508412cc05cde813148e99b3461a3","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi faollashtirildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/messages":{"get":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabarlar ro'yxati (SMS arxiv)","description":"uzagroteh-main: setting\/messages - SMS arxivi","operationId":"6e2b060d9ca7900da7d6994cb985e4e9","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar","schema":{"type":"integer","default":50}},{"name":"phone","in":"query","description":"Telefon raqami","schema":{"type":"string"}},{"name":"customer_name","in":"query","description":"Mulkdor nomi","schema":{"type":"string"}},{"name":"tax_id","in":"query","description":"STIR \/ JS SHIR","schema":{"type":"string"}},{"name":"tech_number","in":"query","description":"Texnika raqami (zavod\/dvigatel)","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Xabarlar"],"summary":"Yangi xabar yuborish","operationId":"661889f5cb45006be183d9ea786aef88","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["phone","text"],"properties":{"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567"},"text":{"description":"Xabar matni","type":"string","example":"Hurmatli mijoz, texnik ko'rik muddati yaqinlashmoqda."},"type_id":{"description":"Xabar turi ID","type":"integer","example":1},"object_id":{"description":"Bog'liq obyekt ID","type":"integer","example":1},"priority":{"description":"Ustuvorlik (0-10)","type":"integer","example":5},"send_at":{"description":"Yuborish vaqti","type":"string","format":"date-time","example":"2025-06-15 10:00:00"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/setting\/messages":{"get":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabarlar ro'yxati (Legacy)","description":"uzagroteh-main: \/setting\/messages bilan moslik uchun","operationId":"37bcb69d9f172d6a00710c2cc1c6b06d","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar","schema":{"type":"integer","default":50}},{"name":"phone","in":"query","description":"Telefon raqami","schema":{"type":"string"}},{"name":"customer_name","in":"query","description":"Mijoz ismi (f_name)","schema":{"type":"string"}},{"name":"tax_id","in":"query","description":"Mijoz STIR\/INN","schema":{"type":"string"}},{"name":"tech_number","in":"query","description":"Texnika zavod\/dvigatel raqami","schema":{"type":"string"}},{"name":"status","in":"query","description":"Xabar holati","schema":{"type":"string","enum":["pending","sent","delivered","failed"]}},{"name":"type_id","in":"query","description":"Xabar turi","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Umumiy qidiruv (telefon, matn)","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/messages\/{message}":{"get":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabar ma'lumotlari","operationId":"c1ed642a59b178140c115a621c8ff066","parameters":[{"name":"message","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabarni o'chirish","operationId":"744ea99ed9873ad4f71c2cfe4af1d72f","parameters":[{"name":"message","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/messages\/statistics":{"get":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabarlar statistikasi","operationId":"1fb4f8d286672f32341f74bd34b64e3e","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/messages\/{message}\/resend":{"post":{"tags":["Agroteh Service","Xabarlar"],"summary":"Xabarni qayta yuborish","operationId":"f18ef3b283be0da3c5531c2088728d77","parameters":[{"name":"message","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors":{"get":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Qarzdorlar ro'yxati","operationId":"d5feb3fd3fb39e418855db1a2fad7cde","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar","schema":{"type":"integer","default":15}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string","enum":["active","removed","paid"]}},{"name":"customer_tin","in":"query","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"min_amount","in":"query","schema":{"type":"number"}},{"name":"max_amount","in":"query","schema":{"type":"number"}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Yangi qarzdor qo'shish","operationId":"8687ba22c851aabff827b1f09c2ab2a2","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["customer_tin"],"properties":{"ban_id":{"type":"string","example":"BAN-2024-001"},"customer_tin":{"type":"string","example":"123456789"},"customer_name":{"type":"string","example":"Alisher Navoiy fermer xo'jaligi"},"passport_series":{"type":"string","example":"AB"},"passport_number":{"type":"string","example":"1234567"},"pinfl_debtor":{"type":"string","example":"12345678901234"},"inn_debtor":{"type":"string","example":"123456789"},"fio_debtor":{"type":"string","example":"Alisher Navoiy"},"doc_number":{"type":"string","example":"IJR-2024-001"},"doc_date":{"type":"string","format":"date","example":"2024-01-01"},"debt_amount":{"type":"number","example":1500000},"currency":{"type":"string","example":"UZS","default":"UZS"},"property_number":{"type":"string","example":"TV-001234"},"branch_name":{"type":"string","example":"Toshkent viloyati bo'limi"},"inspector_fio":{"type":"string","example":"Karimov Jasur"},"ban_date":{"type":"string","format":"date-time","example":"2024-01-15T10:00:00Z"},"tech_info":{"type":"object","example":"{}"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/active":{"get":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Faol qarzdorlar ro'yxati","operationId":"3fcc02b8c7daf51e43f311e11a11b33c","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/statistics":{"get":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Qarzdorlar statistikasi","operationId":"899a30829f85c9d5f2baf24b0bd95db9","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/{mibDebtor}":{"get":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Qarzdor ma'lumotlari","operationId":"81d1f18cc5ad5070ac3bab08e514406b","parameters":[{"name":"mibDebtor","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Qarzdor ma'lumotlarini yangilash","operationId":"d749c7849cf5e2f9eac4eb18764e063d","parameters":[{"name":"mibDebtor","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Qarzdorni o'chirish","operationId":"1161eafb2e3c1a426234f13634efb162","parameters":[{"name":"mibDebtor","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/check\/{tin}":{"get":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"STIR\/PINFL bo'yicha qarzdorlikni tekshirish","operationId":"14cd766a51f1006e01e4efc278957e97","parameters":[{"name":"tin","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/{mibDebtor}\/remove":{"patch":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"Taqiqni olib tashlash","operationId":"75d11d736c626c5a53a95d075eecb574","parameters":[{"name":"mibDebtor","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/{mibDebtor}\/mark-paid":{"patch":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"To'langan deb belgilash","operationId":"a7d3953c3e66920ae82177765a259aaa","parameters":[{"name":"mibDebtor","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mib-debtors\/webhook":{"post":{"tags":["Agroteh Service","MIB qarzdorlar"],"summary":"MIB dan ma'lumot qabul qilish (webhook)","operationId":"abcd117112dd8897b859e117f4f1c674","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["debtors"],"properties":{"debtors":{"type":"array","items":{"properties":{"customer_tin":{"type":"string","example":"123456789"},"ban_id":{"type":"string","example":"BAN-2024-001"},"doc_number":{"type":"string","example":"IJR-2024-001"}},"type":"object"}}},"type":"object"}}}},"responses":{"201":{"description":"Qabul qilindi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/dealer-applications":{"post":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Diller arizasi topshirish (ochiq API)","description":"Diller bo'lish uchun ariza topshirish. Autentifikatsiya talab qilinmaydi. Barcha majburiy maydonlar va 4 ta PDF fayl yuklanishi shart (har biri max 8MB). Texnika turlari va rusumlari array formatda ID lar sifatida yuboriladi. TIF TN kodlari vergul bilan ajratilgan string sifatida yuboriladi.","operationId":"9c86404eb5c84eb8d96f2a0bc6f0c21b","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["company_name","address","stir","phone","email","foreign_brand_name","vehicle_type_ids","vehicle_brand_ids","tif_tn_codes","technical_regulation_certificate","representative_contract","representative_certificate","sales_storage_contract"],"properties":{"company_name":{"description":"Ariza beruvchining nomi (yuridik shaxs \u2013 tashkilot nomi)","type":"string","example":"Agro Diller LLC"},"address":{"description":"Manzili\/joylashgan joyi (pochta manzili)","type":"string","example":"Toshkent sh., Chilonzor tumani, 7-mavze"},"stir":{"description":"STIR (9 raqam)","type":"string","example":"302456789"},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567"},"email":{"description":"Elektron pochta","type":"string","format":"email","example":"info@agrodiller.uz"},"foreign_brand_name":{"description":"Import qilinadigan texnikani ishlab chiqaruvchi xorijiy korxonaning rasmiy brend nomi","type":"string","example":"CLAAS"},"vehicle_type_ids":{"description":"Texnika turi IDlari (multi-select). \/api\/v1\/new-texnika\/public\/vehicle-types dan olinadi","type":"array","items":{"type":"integer","example":1}},"vehicle_brand_ids":{"description":"Texnika rusumi IDlari (multi-select). \/api\/v1\/new-texnika\/public\/vehicle-brands dan olinadi","type":"array","items":{"type":"integer","example":10}},"tif_tn_codes":{"description":"TIF TN bo'yicha tasnif kodlari (vergul bilan ajratilgan)","type":"string","example":"8701100000,8701201000,8701209000"},"technical_regulation_certificate":{"description":"Texnik reglament talablariga muvofiqligi sertifikat nusxasi (PDF, max 8MB)","type":"string","format":"binary"},"representative_contract":{"description":"Xorijiy korxonaning vakili ekanligini tasdiqlovchi shartnoma nusxasi (PDF, max 8MB)","type":"string","format":"binary"},"representative_certificate":{"description":"Xorijiy korxonaning vakili ekanligini tasdiqlovchi sertifikat nusxasi (PDF, max 8MB)","type":"string","format":"binary"},"sales_storage_contract":{"description":"Sotish, saqlash va servis xizmati joyining mulk\/ijara shartnomasi (PDF, max 8MB)","type":"string","format":"binary"},"website_url":{"description":"Ishlab chiqaruvchi veb-saytida rasmiy diler haqida ma'lumot (veb-sayt nomi)","type":"string","example":"https:\/\/www.claas.com\/dealers\/agrodiller","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Ariza muvaffaqiyatli topshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza muvaffaqiyatli topshirildi"},"data":{"$ref":"#\/components\/schemas\/DealerApplicationResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}}}},"\/api\/v1\/new-texnika\/dealer-applications\/approved":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Tasdiqlangan dillerlar ro'yxati (ochiq API)","description":"Admin tomonidan tasdiqlangan diller arizalari ro'yxati. Autentifikatsiya talab qilinmaydi. Faqat \"approved\" statusdagi arizalar qaytariladi.","operationId":"42ef1a76d20cb1ed71d49bc2a6e58f8f","parameters":[{"name":"search","in":"query","description":"Kompaniya nomi, STIR yoki brend bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Tasdiqlangan dillerlar","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DealerApplicationResponse"}},"meta":{"type":"object"}},"type":"object"}}}}}}},"\/api\/v1\/new-texnika\/public\/vehicle-types":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Texnika turlari ro'yxati (ochiq API)","description":"Diller arizasi formasi uchun texnika turlari \u2014 autentifikatsiya talab qilinmaydi. Ariza formasida \"Import qilinadigan qishloq xo'jaligi texnikasining nomi\" ni tanlash uchun.","operationId":"4c39a04672dd79228312d79072019e2d","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Texnika turlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"G'ildirakli traktor"}},"type":"object"}}},"type":"object"}}}}}}},"\/api\/v1\/new-texnika\/public\/vehicle-brands":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Texnika rusumlari ro'yxati (ochiq API)","description":"Diller arizasi formasi uchun texnika rusumlari (modellari) \u2014 autentifikatsiya talab qilinmaydi. vehicle_type_id parametri bilan texnika turi bo'yicha filterlash mumkin. Ariza formasida \"Import qilinadigan qishloq xo'jaligi texnikasining rusumi (modeli)\" ni tanlash uchun.","operationId":"cc19bdfb2653686ac67fc61ac26cb7b5","parameters":[{"name":"vehicle_type_id","in":"query","description":"Texnika turi ID bo'yicha filter (tanlangan texnika turiga tegishli rusumlarni olish uchun)","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Texnika rusumlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":10},"name":{"type":"string","example":"MTZ-82.1"},"vehicle_type_id":{"type":"integer","example":1}},"type":"object"}}},"type":"object"}}}}}}},"\/api\/v1\/new-texnika\/dealer-applications\/list":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Kelgan arizalar ro'yxati","description":"Diller arizalari ro'yxatini sahifalash, status, STIR va kompaniya nomi bo'yicha filterlash bilan olish. Faqat autentifikatsiyadan o'tgan foydalanuvchilar uchun.","operationId":"f240928c1f7e1b39ebb9e15db9607281","parameters":[{"name":"status","in":"query","description":"Status bo'yicha filter","required":false,"schema":{"type":"string","enum":["pending","approved","rejected"]}},{"name":"search","in":"query","description":"Kompaniya nomi, STIR yoki email bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","company_name","stir","status","created_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Arizalar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DealerApplicationResponse"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/dealer-applications\/{id}":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Ariza to'liq ma'lumotlari","description":"Bitta diller arizasining barcha ma'lumotlarini ko'rish \u2014 texnika turlari, rusumlari, fayllar, ko'rib chiqish holati.","operationId":"b8f84177cfc41a9082887c4c8a91398b","parameters":[{"name":"id","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DealerApplicationResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Arizani o'chirish","description":"Diller arizasini soft delete qilish.","operationId":"38e466ce507f74cb186baace314bafda","parameters":[{"name":"id","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/dealer-applications\/{id}\/review":{"patch":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Arizani tasdiqlash yoki bekor qilish","description":"Diller arizasini ko'rib chiqish \u2014 tasdiqlash (approved) yoki bekor qilish (rejected). Bekor qilishda izoh (review_comment) yozilishi majburiy. Faqat \"pending\" holatdagi arizalarni ko'rib chiqish mumkin.","operationId":"b8aad1286c9f204156162022a1fb60cb","parameters":[{"name":"id","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["status"],"properties":{"status":{"description":"Yangi status","type":"string","example":"approved","enum":["approved","rejected"]},"review_comment":{"description":"Izoh (bekor qilishda majburiy)","type":"string","example":"Barcha hujjatlar to'g'ri, ariza tasdiqlandi","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Ariza ko'rib chiqildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza tasdiqlandi"},"data":{"$ref":"#\/components\/schemas\/DealerApplicationResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/dealer-applications\/statistics":{"get":{"tags":["Agroteh Service","NT: Dillerlar arizasi"],"summary":"Arizalar statistikasi","description":"Diller arizalari bo'yicha umumiy statistika \u2014 statuslar bo'yicha sonlar.","operationId":"25ea7743f94120a935b7366aefb124ab","responses":{"200":{"description":"Statistika","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":50},"pending":{"type":"integer","example":15},"approved":{"type":"integer","example":30},"rejected":{"type":"integer","example":5}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/customs\/vehicle-requests":{"post":{"tags":["Agroteh Service","NT: Bojxona"],"summary":"Bojxona webhook \u2014 texnika ma'lumotlarini qabul qilish","description":"Bojxona tizimi yangi import qilingan texnika ma'lumotlarini yuboradi. Ma'lumotlar customs_table ga saqlanadi. Bu endpoint autentifikatsiyasiz ishlaydi (webhook).","operationId":"d01123d8c45e4fce6320ceccdb4af8ac","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"GTDInformation":{"properties":{"send date":{"type":"string","example":"2026-04-25"},"DeclarationData":{"type":"object"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Ma'lumotlar qabul qilindi"},"422":{"description":"Noto'g'ri format"}}}},"\/api\/v1\/new-texnika\/customs\/search":{"get":{"tags":["Agroteh Service","NT: Bojxona"],"summary":"Bojxona ma'lumotlaridan qidirish","description":"customs_table dan texnika qidirish. Bojxona kodi, shartnoma raqami, TIN yoki texnika nomi bo'yicha. Ro'yxatga olinmagan (sertifikat berilmagan) texnikalarni topish uchun ishlatiladi.","operationId":"f8433b87613998a28f9dc1fba5036f9a","parameters":[{"name":"code","in":"query","description":"Bojxona raqami yoki mahsulot kodi","required":false,"schema":{"type":"string"}},{"name":"cont_numb","in":"query","description":"Shartnoma raqami","required":false,"schema":{"type":"string"}},{"name":"tin","in":"query","description":"Sotuvchi yoki xaridor TIN","required":false,"schema":{"type":"string"}},{"name":"t_name","in":"query","description":"Texnika nomi yoki modeli","required":false,"schema":{"type":"string"}},{"name":"chassis","in":"query","description":"Shassi raqami","required":false,"schema":{"type":"string"}},{"name":"engine","in":"query","description":"Dvigatel raqami","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar","required":false,"schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Qidiruv natijalari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/customs":{"get":{"tags":["Agroteh Service","NT: Bojxona"],"summary":"Bojxona ma'lumotlari ro'yxati","description":"Barcha bojxonadan kelgan texnika ma'lumotlari ro'yxati. Sahifalash bilan.","operationId":"7a896d977e58d33cf5a511c45c278500","parameters":[{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Bojxona ma'lumotlari ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/factories":{"get":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Zavodlar ro'yxati","description":"Yangi texnika ishlab chiqaruvchi zavodlar ro'yxati. Nom, mamlakat bo'yicha qidirish, faollik filtri va sahifalash. per_page=-1 barcha zavodlarni qaytaradi (dropdown uchun).","operationId":"e21db155de5946afc6a463547fafb156","parameters":[{"name":"search","in":"query","description":"Nom, kod yoki mamlakat bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"name"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Zavodlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/NtFactoryResponse"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Yangi zavod yaratish","description":"Yangi texnika ishlab chiqaruvchi zavodini ro'yxatga olish. Zavod kodi unikal bo'lishi kerak.","operationId":"62a9f9bc296e45960640b604b72ac3f5","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Zavod nomi","type":"string","example":"MTZ Minsk zavodi"},"code":{"description":"Zavod kodi (unikal)","type":"string","example":"MTZ","nullable":true},"country":{"description":"Mamlakat","type":"string","example":"Belarus","nullable":true},"address":{"description":"Manzil","type":"string","example":"Minsk, Belarus","nullable":true},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Zavod muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/NtFactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/factories\/{factory}":{"get":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Zavod ma'lumotlari","description":"Bitta zavodning to'liq ma'lumotlari \u2014 nomi, kodi, mamlakat, manzil va shu zavod bo'yicha berilgan sertifikatlar soni.","operationId":"c5cabae2e2ed824865af5f3db1e9b16e","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Zavod ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/NtFactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Zavodni yangilash","description":"Zavod ma'lumotlarini qisman yoki to'liq yangilash. Faqat yuborilgan maydonlar o'zgaradi.","operationId":"25a605523ecaaff523cbe50b5f662ec0","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Yangilanadigan maydonlar","required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Zavod nomi","type":"string","example":"MTZ Minsk zavodi"},"code":{"description":"Zavod kodi","type":"string","example":"MTZ"},"country":{"description":"Mamlakat","type":"string","example":"Belarus"},"address":{"description":"Manzil","type":"string"},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Zavod muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/NtFactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Zavodni o'chirish","description":"Zavodni bazadan o'chirish. Agar zavodga shartnoma muddati tugamagan dilerlar biriktirilgan bo'lsa \u2014 o'chirish mumkin emas va 422 xato bilan dilerlar ro'yxati qaytariladi. Sertifikatlar mavjud bo'lsa ham o'chirish taqiqlanadi. Muddati tugagan shartnomalar avtomatik tozalanadi.","operationId":"99a975c720fa5e37af42eaa1670e0685","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Zavod o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"},"422":{"description":"O'chirish mumkin emas \u2014 shartnoma muddati tugamagan dilerlar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Zavodni o'chirib bo'lmaydi \u2014 2 ta dilerning shartnoma muddati tugamagan: Ivanov Ivan (MTZ Diller MChJ, STIR: 123456789, shartnoma muddati: 15.12.2026); Petrov Petr (Agro Trade MChJ, STIR: 987654321, shartnoma muddati: muddatsiz)"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/factories\/{factory}\/toggle-status":{"patch":{"tags":["Agroteh Service","NT: Zavodlar"],"summary":"Zavod holatini o'zgartirish","description":"Zavodning is_active holatini teskari qiymatga o'zgartirish. Faol \u2192 nofaol yoki nofaol \u2192 faol.","operationId":"15d09438f72539cc3ff30e908c0c5753","parameters":[{"name":"factory","in":"path","description":"Zavod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavod faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/NtFactoryResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Zavod topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/references\/vehicle-types":{"get":{"tags":["Agroteh Service","NT: Ma'lumotnomalar"],"summary":"Texnika turlari ro'yxati","description":"Texnika turlari \u2014 frontendda select\/dropdown uchun. category parametri bilan toifa bo'yicha filterlash mumkin. Foydalanuvchining ruxsat etilgan texnika turlari (v_types) bo'yicha avtomatik filterlanadi.","operationId":"1dbf5aec02205781b569d7533238b83c","parameters":[{"name":"category","in":"query","description":"Texnika toifasi (type_a, type_b, type_c, type_d, type_e)","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Texnika turlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"G'ildirakli traktor"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/references\/vehicle-brands":{"get":{"tags":["Agroteh Service","NT: Ma'lumotnomalar"],"summary":"Texnika brendlari ro'yxati","description":"Texnika brendlari \u2014 frontendda select\/dropdown uchun. vehicle_type_id parametri bilan texnika turi bo'yicha filterlash mumkin.","operationId":"801dfbd0e07b9784f10783194b19c913","parameters":[{"name":"vehicle_type_id","in":"query","description":"Texnika turi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Brendlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"vehicle_type_id":{"type":"integer"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/references\/regions":{"get":{"tags":["Agroteh Service","NT: Ma'lumotnomalar"],"summary":"Viloyatlar ro'yxati","description":"O'zbekiston viloyatlari \u2014 frontendda select\/dropdown uchun.","operationId":"2c7015b05c5e0d2b638afa9aa3367064","responses":{"200":{"description":"Viloyatlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Andijon viloyati"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/references\/districts\/{regionId}":{"get":{"tags":["Agroteh Service","NT: Ma'lumotnomalar"],"summary":"Tumanlar ro'yxati","description":"Viloyat bo'yicha tumanlar \u2014 frontendda select\/dropdown uchun.","operationId":"0fdae57a463f70190326fbe2f6009a59","parameters":[{"name":"regionId","in":"path","description":"Viloyat ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tumanlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":101},"name":{"type":"string","example":"Andijon tumani"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/users":{"get":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Foydalanuvchilar ro'yxati","description":"Yangi texnika bo'limi foydalanuvchilarini filterlash va sahifalash bilan olish. Rol, faollik, viloyat bo'yicha filter. per_page=-1 barcha yozuvlarni qaytaradi.","operationId":"f332abb1959a96c01baded2dc1b1fba2","parameters":[{"name":"search","in":"query","description":"Ism, email, tashkilot nomi yoki STIR bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"role","in":"query","description":"Rol nomi bo'yicha filter","required":false,"schema":{"type":"string","enum":["new-texnika-admin","nw-texnika-admin","new-texnika-diller","new-texnika-ishlab-chiqaruvchi"]}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Foydalanuvchilar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Yangi foydalanuvchi yaratish","description":"Yangi texnika bo'limi uchun diller, ishlab chiqaruvchi yoki admin foydalanuvchi yaratish. Tashkilot ma'lumotlari, texnika toifasi, ruxsat etilgan texnika turlari va masul xodimlar kiritiladi.","operationId":"b3f63bcd5e5bfaaf56a905dde56d642d","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["email","password","password_confirmation","role_name","tech_category","company_stir","company_name","phone","company_director","state_id","city_id","responsibles"],"properties":{"email":{"description":"Login (email)","type":"string","example":"diller@test.com"},"password":{"description":"Parol (kamida 8 belgi)","type":"string","example":"password123"},"password_confirmation":{"description":"Parol tasdiqlash","type":"string","example":"password123"},"role_name":{"description":"Tizimdagi roli","type":"string","enum":["new-texnika-admin","nw-texnika-admin","new-texnika-diller","new-texnika-ishlab-chiqaruvchi"]},"tech_category":{"description":"Ruxsat etilgan texnika toifasi","type":"array","items":{"type":"string"},"example":["Qishloq xo'jaligi texnikalari","Melioratsiya texnikalari"]},"company_stir":{"description":"Tashkilot STIRi (9 raqam)","type":"string","example":"302456789"},"company_name":{"description":"Tashkilot nomi","type":"string","example":"Test Diller LLC"},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567"},"company_director":{"description":"Tashkilot rahbari F.I.SH","type":"string","example":"Aliyev Vali Saliyevich"},"v_types":{"description":"Ruxsat etilgan texnika turi IDlari (agroteh texnika turlari listidan)","type":"array","items":{"type":"integer"},"example":[1,3,5]},"state_id":{"description":"Viloyat ID","type":"string","example":"14"},"city_id":{"description":"Tuman ID","type":"string","example":"220"},"address":{"description":"Manzil","type":"string","example":"Toshkent shahar, Chilonzor tumani"},"responsibles":{"description":"Tashkilot tomonidan biriktirilgan masul xodimlar","type":"array","items":{"required":["pinfl","lastname","firstname"],"properties":{"pinfl":{"description":"JSHSHIR raqami (14 raqam)","type":"string","example":"12345678901234"},"lastname":{"description":"Familiyasi","type":"string","example":"Karimov"},"firstname":{"description":"Ismi","type":"string","example":"Jasur"},"middlename":{"description":"Sharifi","type":"string","example":"Bahodirovich"}},"type":"object"}}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/users\/{user}":{"get":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Foydalanuvchi ma'lumotlari","description":"Bitta foydalanuvchining to'liq ma'lumotlari \u2014 tashkilot, texnika ruxsatlari, rollar va masul xodimlar.","operationId":"35139bac20bf6bb0501810ca3bc926d6","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Foydalanuvchini yangilash","description":"Foydalanuvchi ma'lumotlarini qisman yoki to'liq yangilash. Faqat yuborilgan maydonlar o'zgaradi. Parolni yangilash uchun password va password_confirmation yuborilishi kerak.","operationId":"1038cea36286ce4ea92a4f9439c82c45","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Yangilanadigan maydonlar (faqat keraklilarini yuboring)","required":true,"content":{"application\/json":{"schema":{"properties":{"email":{"type":"string"},"password":{"type":"string"},"password_confirmation":{"type":"string"},"role_name":{"type":"string","enum":["new-texnika-admin","nw-texnika-admin","new-texnika-diller","new-texnika-ishlab-chiqaruvchi"]},"tech_category":{"type":"array","items":{"type":"string"}},"company_stir":{"type":"string"},"company_name":{"type":"string"},"phone":{"type":"string"},"company_director":{"type":"string"},"v_types":{"type":"array","items":{"type":"integer"}},"state_id":{"type":"string"},"city_id":{"type":"string"},"address":{"type":"string"},"responsibles":{"type":"array","items":{"type":"object"}},"is_active":{"type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Foydalanuvchi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Foydalanuvchini o'chirish","description":"Foydalanuvchini soft delete qilish. O'zingizni o'chira olmaysiz. Tiklab olish uchun restore endpoint ishlatiladi.","operationId":"1d5c81df3877236751c72956c3ab4f34","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"O'zingizni o'chira olmaysiz"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/users\/{id}\/restore":{"post":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"O'chirilgan foydalanuvchini tiklash","description":"Soft delete qilingan foydalanuvchini qayta tiklash. Faqat o'chirilgan foydalanuvchilar uchun ishlaydi.","operationId":"8677d45ae5e85bed69c7beb517e0cfc8","parameters":[{"name":"id","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/users\/{user}\/toggle-status":{"patch":{"tags":["Agroteh Service","NT: Foydalanuvchilar"],"summary":"Foydalanuvchi holatini o'zgartirish","description":"Foydalanuvchining is_active holatini teskari qiymatga o'zgartirish. Faol \u2192 nofaol yoki nofaol \u2192 faol.","operationId":"6c66e87090986cd115ebef93acfb5e6e","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/NtUserResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikatlar ro'yxati","description":"Yangi texnika sertifikatlari ro'yxatini olish. Sertifikat raqami, sotuvchi STIR, xaridor TIN, viloyat, tuman, sana va holat bo'yicha filtrlash mumkin. Natijalar sahifalangan holda qaytariladi.","operationId":"d1bbe442b75675e73a54892c8dad8441","parameters":[{"name":"page","in":"query","description":"Sahifa raqami (1 dan boshlanadi)","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Har bir sahifadagi elementlar soni","required":false,"schema":{"type":"integer","default":20}},{"name":"number","in":"query","description":"Sertifikat raqami bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"seller_stir","in":"query","description":"Sotuvchi tashkilot STIR raqami","required":false,"schema":{"type":"string"}},{"name":"buyer_tin","in":"query","description":"Xaridor TIN yoki STIR raqami","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Umumiy qidirish (sertifikat raqami, sertifikat va texnika ma'lumotlari bo'yicha)","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Sertifikat holati: 1 \u2014 Faol, 0 \u2014 Faol emas","required":false,"schema":{"type":"integer","enum":[0,1]}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman\/shahar ID bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Sertifikatlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikatlar ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"meta":{"properties":{"total":{"type":"integer","example":150},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":8},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}},"type":"object"},"links":{"properties":{"first":{"type":"string","example":"...?page=1"},"last":{"type":"string","example":"...?page=8"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Yangi sertifikat yaratish","description":"Yangi texnika sertifikatini ro'yxatga olish. Texnika va sertifikat ma'lumotlari yuboriladi. Sertifikat raqami avtomatik generatsiya qilinadi yoki qo'lda berilishi mumkin.","operationId":"4ba5d9abafd5ce57daf496b5f2f44606","requestBody":{"description":"Yangi texnika sertifikati yaratish","required":true,"content":{"application\/json":{"schema":{"required":["buyer","vehicle","document","region_id","city_id"],"properties":{"buyer":{"description":"Sotib oluvchi ma'lumotlari","required":["person_type","tin","name"],"properties":{"person_type":{"description":"Shaxs turi: physical=jismoniy, legal=yuridik","type":"string","example":"physical","enum":["physical","legal"]},"tin":{"description":"STIR (9 raqam) yoki JSHSHIR (14 raqam)","type":"string","example":"31604862720054"},"name":{"description":"Ism (F.I.Sh) yoki tashkilot nomi","type":"string","example":"Karimov Jasur Baxodirovich"},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567"},"address":{"description":"Manzili","type":"string","example":"Toshkent sh., Chilonzor tumani"}},"type":"object"},"region_id":{"description":"Viloyat ID","type":"integer","example":26},"region_name":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati","nullable":true},"city_id":{"description":"Tuman ID","type":"integer","example":2601},"city_name":{"description":"Tuman nomi","type":"string","example":"Chirchiq shahri","nullable":true},"vehicle":{"description":"Texnika ma'lumotlari","required":["name"],"properties":{"name":{"description":"Texnika nomi","type":"string","example":"Traktor MTZ-80"},"brand":{"description":"Rusumi\/modeli","type":"string","example":"MTZ-80"},"factory_number":{"description":"Zavod raqami","type":"string","example":"ZR-123456"},"corpus_number":{"description":"Kuzov raqami","type":"string","example":"KZ-789012"},"chassis_number":{"description":"Shassi raqami","type":"string","example":"SH-345678"},"engine_number":{"description":"Dvigatel raqami","type":"string","example":"D260-12345"},"made_year":{"description":"Ishlab chiqarilgan yili","type":"string","example":"2024"},"color":{"description":"Rangi","type":"string","example":"Qizil"}},"type":"object"},"factory_id":{"description":"Ishlab chiqaruvchi zavod ID","type":"integer","example":1,"nullable":true},"document":{"description":"Asos hujjat ma'lumotlari","required":["type"],"properties":{"type":{"description":"Hujjat turi: customs=bojxona, manufacture=ishlab chiqarish","type":"string","example":"customs","enum":["customs","manufacture"]},"number":{"description":"Hujjat raqami","type":"string","example":"GTD-2024\/001234"},"date":{"description":"Hujjat sanasi","type":"string","format":"date","example":"2024-06-15"},"customs_mode":{"description":"Bojxona rejimi turi: 1=Erkin muomalaga chiqarish, 2=Vaqtincha olib kirish","type":"integer","example":1,"nullable":true},"file":{"description":"Asos hujjat fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"},"purchase":{"description":"Sotish ma'lumotlari","properties":{"cost":{"description":"Texnika sotilgan narxi (so'm)","type":"number","example":150000000},"date":{"description":"Texnika sotilgan sanasi","type":"string","format":"date","example":"2024-06-20"}},"type":"object","nullable":true},"certificate_number":{"description":"Sertifikat raqami (ixtiyoriy \u2014 avtomatik generatsiya)","type":"string","example":"0015001","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Sertifikat muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi yoki sertifikat raqami allaqachon mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/statistics":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikatlar statistikasi","description":"Yangi texnika sertifikatlari bo'yicha umumiy statistikani olish: jami, faol, faol emas, viloyatlar kesimida, joriy oy va yil bo'yicha.","operationId":"a9ffa097b2823524eb2b83ecde040c8c","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikatlar statistikasi"},"data":{"properties":{"total":{"description":"Jami sertifikatlar soni","type":"integer","example":500},"active":{"description":"Faol sertifikatlar soni","type":"integer","example":450},"inactive":{"description":"Faol emas sertifikatlar soni","type":"integer","example":50},"by_region":{"description":"Viloyatlar kesimida sertifikatlar soni","type":"array","items":{"properties":{"region_id":{"type":"integer","example":1},"count":{"type":"integer","example":35}},"type":"object"}},"this_month":{"description":"Joriy oydagi sertifikatlar soni","type":"integer","example":25},"this_year":{"description":"Joriy yildagi sertifikatlar soni","type":"integer","example":200}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikat ma'lumotlari","description":"Berilgan ID bo'yicha bitta sertifikatning to'liq ma'lumotlarini olish. Sertifikat yaratgan foydalanuvchi ma'lumotlari ham qaytariladi.","operationId":"8aa56a73f787ea555b24fd04baf8b05f","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Sertifikat ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat ma'lumotlari"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikatni yangilash","description":"Mavjud sertifikat ma'lumotlarini yangilash. Texnika, sertifikat, holat va sertifikat havolasini alohida yoki birgalikda yangilash mumkin.","operationId":"593da3f62892a12c1cea5c80b2545a46","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Yangilanadigan maydonlar (faqat yuborilgan maydonlar yangilanadi)","content":{"application\/json":{"schema":{"properties":{"vehicle":{"description":"Texnika ma'lumotlari","type":"object","example":"{\"brand\": \"MTZ\", \"model\": \"80\", \"year\": 2020, \"chassis_no\": \"XTA12345678\"}"},"certificate":{"description":"Sertifikat ma'lumotlari","type":"object","example":"{\"number\": \"NT-001234\", \"region_id\": 1, \"city_id\": 1, \"status\": 1}"},"c_status":{"description":"Sertifikat holati: 1 \u2014 Faol, 0 \u2014 Faol emas","type":"integer","example":1},"certificate_link":{"description":"Sertifikat havolasi","type":"string","example":"https:\/\/example.com\/certificate\/NT-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Sertifikat muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat yangilandi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}\/status":{"patch":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikat holatini o'zgartirish","description":"Sertifikatni faol yoki faol emas holatiga o'zgartirish. Faqat c_status maydoni yangilanadi.","operationId":"e0bdb648162e1222160364a0a101bb08","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Yangi holat qiymati","required":true,"content":{"application\/json":{"schema":{"required":["c_status"],"properties":{"c_status":{"description":"Sertifikat holati: 1 \u2014 Faol, 0 \u2014 Faol emas","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Sertifikat holati muvaffaqiyatli o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}\/activate":{"post":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikatni faollashtirish","description":"Sertifikatni faol holatga o'tkazish. Faol emas yoki bekor qilingan sertifikatlarni qayta faollashtirish uchun ishlatiladi.","operationId":"ec97d566f5ff3119a2680b614b64f495","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Sertifikat muvaffaqiyatli faollashtirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat faollashtirildi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}\/deactivate":{"post":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikatni o'chirish","description":"Sertifikatni faol emas holatga o'tkazish. O'chirilgan sertifikat qayta faollashtirilishi mumkin.","operationId":"c91cfe06b0aa8e19e0a6bec4729bb9ab","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Sertifikat muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat o'chirildi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/check-vehicle":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Texnika mavjudligini tekshirish","description":"Texnikaning tizimda allaqachon ro'yxatga olinganligini tekshirish. Chassis, corpus yoki zavod raqami bo'yicha tbl_vehicles va new_vehicles_table jadvallaridan qidiradi.","operationId":"5c26f8815181e699e0554e29832ead1b","parameters":[{"name":"identifier","in":"query","description":"Tekshirish uchun identifikator: chassis, corpus yoki zavod raqami","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tekshirish natijasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika topilmadi, ro'yxatga olish mumkin"},"data":{"properties":{"exists":{"description":"Texnika mavjudligi","type":"boolean","example":false},"source":{"description":"Topilgan manba: vehicles yoki new_vehicles","type":"string","example":"vehicles","nullable":true},"vehicle_id":{"description":"Texnika ID (faqat vehicles jadvalida topilganda)","type":"integer","nullable":true},"certificate_id":{"description":"Sertifikat ID (faqat new_vehicles jadvalida topilganda)","type":"integer","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/regions":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Viloyatlar ro'yxati","description":"Sertifikat yaratish va filtrlash uchun viloyatlar ro'yxatini olish. Alifbo tartibida saralangan.","operationId":"a48d0b92ba3b4b275e70c8725d587b44","responses":{"200":{"description":"Viloyatlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Viloyatlar ro'yxati"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/districts\/{regionId}":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Tumanlar ro'yxati","description":"Berilgan viloyat ID bo'yicha tumanlar ro'yxatini olish. Alifbo tartibida saralangan.","operationId":"703ec68262024e8e9b7b58566799c95a","parameters":[{"name":"regionId","in":"path","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tumanlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Tumanlar ro'yxati"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Chirchiq tumani"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/vehicle-types":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Texnika turlari ro'yxati","description":"Yangi texnika turlari ro'yxatini olish. Kategoriya va nomi bo'yicha filtrlash mumkin. Alifbo tartibida saralangan.","operationId":"9834198bf12ac65aaff4abecaf483d44","parameters":[{"name":"category","in":"query","description":"Texnika kategoriyasi bo'yicha filtrlash","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Texnika nomi bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Texnika turlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika turlari"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor"},"category":{"type":"string","example":"tractor"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/by-number\/{number}":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikat raqami bo'yicha qidirish","description":"Sertifikat raqami bo'yicha aniq sertifikatni topish. QR kod tekshirish uchun ham ishlatiladi.","operationId":"b66d219d2f9c2344a70c77dc26c64a46","parameters":[{"name":"number","in":"path","description":"Sertifikat raqami (masalan: 0015001)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sertifikat muvaffaqiyatli topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Sertifikat topildi"},"data":{"$ref":"#\/components\/schemas\/NewVehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/reports\/certificates":{"get":{"tags":["Agroteh Service","NT: Hisobotlar"],"summary":"To'liq hisobot \u2014 sertifikatlar (Excel)","description":"Barcha sertifikatlarni Excel formatida yuklab olish. Holat, viloyat va sana bo'yicha filtrlash mumkin. Fayl .xlsx formatda qaytariladi.","operationId":"b2285edee47258a82c3df62496c65933","parameters":[{"name":"status","in":"query","description":"Sertifikat holati: 1 \u2014 Faol, 0 \u2014 Faol emas","required":false,"schema":{"type":"integer","enum":[0,1]}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD formatda)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli generatsiya qilindi","content":{"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"501":{"description":"Export funksiyasi hozircha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Export funksiyasi hozircha mavjud emas"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}\/pdf":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikat PDF yuklab olish","description":"Sertifikat ma'lumotlarini PDF formatda yuklab olish. Agar PDF allaqachon yaratilgan bo'lsa, mavjud faylni qaytaradi, aks holda yangisini generatsiya qiladi.","operationId":"07d2b9da9559219cfa48c663f9a6daca","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"PDF fayl muvaffaqiyatli qaytarildi","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/certificates\/{id}\/qrcode":{"get":{"tags":["Agroteh Service","NT: Sertifikatlar"],"summary":"Sertifikat QR kodi (PNG rasm)","description":"Sertifikatni tekshirish uchun QR kod rasmini PNG formatda qaytaradi. QR kod sertifikat tekshirish sahifasiga yo'naltiruvchi URL ni o'z ichiga oladi.","operationId":"561d9086c70d40546bb3cbd2a826fbc9","parameters":[{"name":"id","in":"path","description":"Sertifikat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"QR kod rasmi (PNG)","content":{"image\/png":[]}},"404":{"description":"Sertifikat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Sertifikat topilmadi"}},"type":"object"}}}}}}},"\/api\/v1\/new-texnika\/reports\/customs":{"get":{"tags":["Agroteh Service","NT: Hisobotlar"],"summary":"Bojxona ma'lumotlarini yuklab olish (Excel)","description":"Bojxonadan kelgan yangi texnika ma'lumotlarini Excel formatda yuklab olish. customs_table jadvalidan ma'lumotlar olinadi.","operationId":"59fa11eb381b7d63a7c7a9961611e725","responses":{"200":{"description":"Bojxona ma'lumotlari Excel fayl sifatida qaytarildi","content":{"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"503":{"description":"Bojxona xizmati vaqtincha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bojxona xizmati vaqtincha mavjud emas"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/reports\/dillers":{"get":{"tags":["Agroteh Service","NT: Hisobotlar"],"summary":"Dillerlar hisoboti","description":"Barcha dillerlar (new-texnika-admin roliga ega foydalanuvchilar) va ularga biriktirilgan zavodlar ro'yxatini olish. JSON yoki Excel formatda qaytarish mumkin.","operationId":"7374aca1e27c9753c9566fb245c79684","parameters":[{"name":"format","in":"query","description":"Javob formati: json \u2014 JSON ko'rinishida, excel \u2014 Excel fayl sifatida yuklab olish","required":false,"schema":{"type":"string","default":"json","enum":["json","excel"]}}],"responses":{"200":{"description":"Dillerlar hisoboti muvaffaqiyatli qaytarildi (JSON formatda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dillerlar hisoboti"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Akbar"},"lastname":{"type":"string","example":"Karimov"},"email":{"type":"string","example":"akbar@example.com"},"phone":{"type":"string","example":"+998901234567"},"state_id":{"type":"integer","example":1},"factories":{"description":"Biriktirilgan zavodlar nomlari","type":"string","example":"MTZ, Claas"},"factories_count":{"description":"Biriktirilgan zavodlar soni","type":"integer","example":2}},"type":"object"}},"total":{"type":"integer","example":15}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"501":{"description":"Excel export hozircha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Excel export hozircha mavjud emas"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/reports\/factories":{"get":{"tags":["Agroteh Service","NT: Hisobotlar"],"summary":"Zavodlar hisoboti","description":"Barcha zavodlar va ularga biriktirilgan dillerlar ro'yxatini olish. Har bir zavod uchun sertifikatlar soni ham ko'rsatiladi. JSON yoki Excel formatda qaytarish mumkin.","operationId":"10a9ba1fb40ed6395964bc7acf38c8eb","parameters":[{"name":"format","in":"query","description":"Javob formati: json \u2014 JSON ko'rinishida, excel \u2014 Excel fayl sifatida yuklab olish","required":false,"schema":{"type":"string","default":"json","enum":["json","excel"]}}],"responses":{"200":{"description":"Zavodlar hisoboti muvaffaqiyatli qaytarildi (JSON formatda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Zavodlar hisoboti"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"MTZ"},"country":{"type":"string","example":"Belarus"},"dillers":{"description":"Biriktirilgan dillerlar nomlari","type":"string","example":"Karimov Akbar, Rahimov Bobur"},"dillers_count":{"description":"Biriktirilgan dillerlar soni","type":"integer","example":2},"certificates_count":{"description":"Zavodga tegishli sertifikatlar soni","type":"integer","example":45}},"type":"object"}},"total":{"type":"integer","example":10}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"501":{"description":"Excel export hozircha mavjud emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Excel export hozircha mavjud emas"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/nspa":{"get":{"tags":["Agroteh Service","NSPA \u2014 O'simliklarni himoya"],"summary":"NSPA so'rovlar ro'yxati","description":"NSPA tizimidan kelgan barcha kiruvchi so'rovlar ro'yxati. Filtr va sahifalash qo'llab-quvvatlanadi.","operationId":"00730481573c9e4d2f9c92098c315a47","parameters":[{"name":"status","in":"query","description":"Holat: -1=xatolik, 0=yangi, 1=qayta ishlandi","schema":{"type":"integer"}},{"name":"request_type","in":"query","description":"So'rov turi (vehicle_info, inspection_status)","schema":{"type":"string"}},{"name":"applicant_inn","in":"query","description":"So'rov yuboruvchi tashkilot INN\/STIR","schema":{"type":"string"}},{"name":"search","in":"query","description":"INN bo'yicha qidiruv","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/nspa\/statistics":{"get":{"tags":["Agroteh Service","NSPA \u2014 O'simliklarni himoya"],"summary":"NSPA so'rovlar statistikasi","description":"NSPA tizimidan kelgan so'rovlar bo'yicha umumiy statistika: jami, holat bo'yicha, bugungi sana.","operationId":"3f5b81fd1e20851a39f18936e7e918a4","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/nspa\/{nspaRequest}":{"get":{"tags":["Agroteh Service","NSPA \u2014 O'simliklarni himoya"],"summary":"NSPA so'rov tafsilotlari","description":"Bitta NSPA so'rovi to'liq ma'lumotlari: kelgan so'rov va yuborilgan javob.","operationId":"fb8d9f25df9240b4dd110e58522f3ea3","parameters":[{"name":"nspaRequest","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/nspa\/vehicle-info":{"post":{"tags":["Agroteh Service","NSPA \u2014 O'simliklarni himoya"],"summary":"NSPA \u2014 texnika ma'lumotlari (webhook)","description":"NSPA tizimi INN\/STIR yuboradi, biz shu INN ga tegishli barcha texnikalar ro'yxatini va texnik ko'rik holatini qaytaramiz. So'rov jurnalga yoziladi.","operationId":"8aad512f9a22350efe8354d5b28a4840","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["applicant_inn"],"properties":{"applicant_inn":{"description":"Tashkilot INN\/STIR (9-14 raqam)","type":"string","example":"123456789012"}},"type":"object"}}}},"responses":{"200":{"description":"Texnika ro'yxati va tekshiruv holati"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/ownership-forms":{"get":{"tags":["Agroteh Service","Mulkchilik shakllari"],"summary":"Mulkchilik shakllari ro'yxati","description":"Barcha mulkchilik shakllarini olish. Nomi va faollik holati bo'yicha filtrlash mumkin. Sahifalash qo'llab-quvvatlanadi (per_page=-1 bo'lsa hammasi qaytariladi).","operationId":"2944268615778544567c984cf73a694a","parameters":[{"name":"search","in":"query","description":"Mulkchilik shakli nomini qidirish (qisman mos kelishi mumkin)","required":false,"schema":{"type":"string","example":"Davlat"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtrlash (true \u2014 faol, false \u2014 nofaol)","required":false,"schema":{"type":"boolean","example":true}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","example":1,"default":1}},{"name":"per_page","in":"query","description":"Har sahifadagi yozuvlar soni (-1 bo'lsa hammasi qaytariladi, maksimum 100)","required":false,"schema":{"type":"integer","example":15,"default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Mulkchilik shakllari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mulkchilik shakllari ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnershipFormResource"}},"meta":{"description":"Sahifalash ma'lumotlari (faqat per_page != -1 bo'lganda)","properties":{"total":{"description":"Jami yozuvlar soni","type":"integer","example":50},"per_page":{"description":"Har sahifadagi yozuvlar soni","type":"integer","example":15},"current_page":{"description":"Joriy sahifa raqami","type":"integer","example":1},"last_page":{"description":"Oxirgi sahifa raqami","type":"integer","example":4},"from":{"description":"Birinchi yozuv tartibi","type":"integer","example":1,"nullable":true},"to":{"description":"Oxirgi yozuv tartibi","type":"integer","example":15,"nullable":true}},"type":"object"},"links":{"description":"Sahifalash havolalari","properties":{"first":{"description":"Birinchi sahifa havolasi","type":"string","nullable":true},"last":{"description":"Oxirgi sahifa havolasi","type":"string","nullable":true},"prev":{"description":"Oldingi sahifa havolasi","type":"string","nullable":true},"next":{"description":"Keyingi sahifa havolasi","type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Mulkchilik shakllari"],"summary":"Yangi mulkchilik shakli qo'shish","description":"Yangi mulkchilik shaklini yaratish. Mijoz (customer) ro'yxatga olishda mulkchilik shakli tanlash uchun ishlatiladi.","operationId":"ac0ab515a5723cce8a3d297d9fca7eef","requestBody":{"description":"Yangi mulkchilik shakli ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Mulkchilik shakli nomi","type":"string","example":"Davlat mulki"}},"type":"object"}}}},"responses":{"201":{"description":"Mulkchilik shakli muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/OwnershipFormResource"},"message":{"type":"string","example":"Mulkchilik shakli yaratildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/ownership-forms\/{ownershipForm}":{"get":{"tags":["Agroteh Service","Mulkchilik shakllari"],"summary":"Mulkchilik shakli ma'lumotlari","description":"Bitta mulkchilik shaklining to'liq ma'lumotlarini ko'rish.","operationId":"dcd5a3e759dd679b80eb0d79bd2c6df3","parameters":[{"name":"ownershipForm","in":"path","description":"Mulkchilik shakli IDsi","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mulkchilik shakli ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/OwnershipFormResource"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Mulkchilik shakli topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Mulkchilik shakllari"],"summary":"Mulkchilik shaklini yangilash","description":"Mavjud mulkchilik shaklini tahrirlash.","operationId":"e8991584b6f699678844860e6fbfa89f","parameters":[{"name":"ownershipForm","in":"path","description":"Mulkchilik shakli IDsi","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Yangilangan mulkchilik shakli ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Mulkchilik shakli nomi","type":"string","example":"Davlat mulki"}},"type":"object"}}}},"responses":{"200":{"description":"Mulkchilik shakli muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/OwnershipFormResource"},"message":{"type":"string","example":"Mulkchilik shakli yangilandi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Mulkchilik shakli topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Mulkchilik shakllari"],"summary":"Mulkchilik shaklini o'chirish","description":"Mulkchilik shaklini tizimdan o'chirish. Agar mulkchilik shakliga bog'langan mijozlar mavjud bo'lsa, o'chirish mumkin emas.","operationId":"0cd222ad904fe9db843cea8f53b6e292","parameters":[{"name":"ownershipForm","in":"path","description":"Mulkchilik shakli IDsi","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mulkchilik shakli muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Mulkchilik shakli o'chirildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Mulkchilik shakli topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/categories":{"get":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov kategoriyalari ro'yxati","description":"Barcha to'lov kategoriyalari va ularning ichidagi to'lov turlarini olish. Sahifalash (pagination) qo'llab-quvvatlanadi. per_page=-1 bo'lganda barcha kategoriyalar bir yo'la qaytariladi.","operationId":"f045d1ae62183a4dfe9c72a937d1d820","parameters":[{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa hammasi)","schema":{"type":"integer","default":-1}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov kategoriyalari ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov kategoriyalari ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentCategoryResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"Yangi to'lov kategoriyasi yaratish","description":"Yangi to'lov kategoriyasini yaratish. Kategoriya nomi va kodi majburiy. Kod unikal bo'lishi kerak. Yaratilgan kategoriya ichiga keyinchalik to'lov turlari qo'shiladi.","operationId":"a44e5efb17c506b8f14c6b4594a00c83","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","code"],"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Ro'yxatga olish to'lovlari"},"code":{"description":"Kategoriya kodi (unikal)","type":"string","example":"registration"},"description":{"description":"Kategoriya tavsifi","type":"string","example":"Ro'yxatga olish bilan bog'liq to'lovlar"},"is_active":{"description":"Faol holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Kategoriya muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Kategoriya yaratildi"},"data":{"$ref":"#\/components\/schemas\/PaymentCategoryResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - nom yoki kod noto'g'ri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/categories\/{category}":{"put":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov kategoriyasini yangilash","description":"Mavjud to'lov kategoriyasini yangilash. Faqat yuborilgan maydonlar yangilanadi. Kod o'zgartirilsa, u boshqa kategoriyalar bilan takrorlanmasligi tekshiriladi.","operationId":"fdd4b6b73f14441a5cdd3b4782e55809","parameters":[{"name":"category","in":"path","description":"Kategoriya ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Ro'yxatga olish to'lovlari"},"code":{"description":"Kategoriya kodi","type":"string","example":"registration"},"description":{"description":"Kategoriya tavsifi","type":"string","example":"Ro'yxatga olish bilan bog'liq to'lovlar"},"is_active":{"description":"Faol holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Kategoriya muvaffaqiyatli yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Kategoriya topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/types":{"get":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov turlari ro'yxati","description":"Barcha to'lov turlari ro'yxatini olish. Kategoriya bo'yicha filtrlash va faqat faol turlarni ko'rish mumkin. Sahifalash qo'llab-quvvatlanadi. per_page=-1 bo'lganda barcha turlar bir yo'la qaytariladi.","operationId":"a9cc73b8fe6a79c644b5bb08c0f8c490","parameters":[{"name":"category_id","in":"query","description":"Kategoriya ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"active_only","in":"query","description":"Faqat faol turlarni ko'rsatish (true\/false)","schema":{"type":"boolean"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa hammasi)","schema":{"type":"integer","default":-1}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov turlari ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turlari ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentTypeResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"Yangi to'lov turi yaratish","description":"Yangi to'lov turini yaratish. Kategoriya ID, nom, kod va bazaviy summa majburiy. BHM koeffitsiyenti berilsa, to'lov summasi BHM qiymatiga ko'paytiriladi. Agar koeffitsiyent 0 yoki berilmagan bo'lsa, bazaviy summa ishlatiladi.","operationId":"72322738ab744d36c37fb87d918b5070","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["category_id","name","code","amount"],"properties":{"category_id":{"description":"Kategoriya ID","type":"integer","example":1},"name":{"description":"To'lov turi nomi","type":"string","example":"Dastlabki ro'yxatga olish"},"code":{"description":"To'lov turi kodi (unikal)","type":"string","example":"initial_registration"},"amount":{"description":"Bazaviy to'lov summasi (tiyinda)","type":"number","example":150000},"bhm_coefficient":{"description":"BHM koeffitsiyenti (ixtiyoriy)","type":"number","example":0.5},"description":{"description":"To'lov turi tavsifi","type":"string","example":"Dastlabki ro'yxatga olish uchun to'lov"},"is_active":{"description":"Faol holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"To'lov turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi yaratildi"},"data":{"$ref":"#\/components\/schemas\/PaymentTypeResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/types\/{type}":{"put":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov turini yangilash","description":"Mavjud to'lov turini yangilash. Faqat yuborilgan maydonlar yangilanadi. Summa yoki BHM koeffitsiyenti o'zgartirilsa, keyingi to'lovlar yangi qiymatlar asosida hisoblanadi.","operationId":"4ba6d719052b254182788c25a7768e96","parameters":[{"name":"type","in":"path","description":"To'lov turi ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"category_id":{"description":"Kategoriya ID","type":"integer","example":1},"name":{"description":"To'lov turi nomi","type":"string","example":"Dastlabki ro'yxatga olish"},"code":{"description":"To'lov turi kodi","type":"string","example":"initial_registration"},"amount":{"description":"Bazaviy summa (tiyinda)","type":"number","example":150000},"bhm_coefficient":{"description":"BHM koeffitsiyenti","type":"number","example":0.5},"description":{"description":"Tavsif","type":"string","example":"Dastlabki ro'yxatga olish uchun to'lov"},"is_active":{"description":"Faol holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"To'lov turi muvaffaqiyatli yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/calculate":{"post":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov summasini hisoblash (BHM asosida)","description":"To'lov turi va BHM (bazaviy hisoblash miqdori) qiymati asosida to'lov summasini hisoblash. Agar to'lov turida BHM koeffitsiyenti belgilangan bo'lsa va so'rovda bhm_value yuborilsa, summa = koeffitsiyent * bhm_value. Aks holda bazaviy summa qaytariladi.","operationId":"b4a1f51b6d4fec0adfa7020bc7ac2116","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["type_id"],"properties":{"type_id":{"description":"To'lov turi ID raqami","type":"integer","example":1},"bhm_value":{"description":"Joriy BHM qiymati (tiyinda). Agar berilmasa, bazaviy summa qaytariladi.","type":"number","example":340000}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli - to'lov summasi hisoblandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalculatedAmount"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - type_id majburiy"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/merchants":{"get":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"Faol to'lov merchantlari ro'yxati","description":"Barcha faol to'lov merchantlari (Payme, Click, Uzum va boshqalar) ro'yxatini qaytaradi. Faqat is_active=true bo'lgan merchantlar ko'rsatiladi. Nomi bo'yicha alifbo tartibida tartiblangan.","operationId":"33a15753ea3f84ba04810899ed57fbda","responses":{"200":{"description":"Muvaffaqiyatli - merchantlar ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Merchantlar ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentMerchantResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"Yangi to'lov merchantini yaratish","description":"Yangi to'lov merchantini (to'lov tizimini) yaratish. Merchant nomi va kodi majburiy. API kalit va maxfiy kalit ixtiyoriy - keyinchalik yangilanishi mumkin.","operationId":"0c38b4d8691121e77630f848502c2542","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","code"],"properties":{"name":{"description":"Merchant nomi","type":"string","example":"Payme"},"code":{"description":"Merchant kodi (unikal)","type":"string","example":"payme"},"api_key":{"description":"API kaliti","type":"string","example":"pk_test_abc123"},"secret_key":{"description":"Maxfiy kalit","type":"string","example":"sk_test_xyz789"},"is_active":{"description":"Faol holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Merchant muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Merchant yaratildi"},"data":{"$ref":"#\/components\/schemas\/PaymentMerchantResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-config\/merchants\/{merchant}":{"put":{"tags":["Agroteh Service","To'lov sozlamalari"],"summary":"To'lov merchantini yangilash","description":"Mavjud to'lov merchantini yangilash. Faqat yuborilgan maydonlar yangilanadi. API kalit va maxfiy kalit o'zgartirilsa, to'lov tizimi bilan integratsiya yangi kalitlar bilan ishlaydi.","operationId":"796af14ea8f489d2f1404b338e6290db","parameters":[{"name":"merchant","in":"path","description":"Merchant ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Merchant nomi","type":"string","example":"Payme"},"code":{"description":"Merchant kodi","type":"string","example":"payme"},"api_key":{"description":"API kaliti","type":"string","example":"pk_test_abc123"},"secret_key":{"description":"Maxfiy kalit","type":"string","example":"sk_test_xyz789"},"is_active":{"description":"Faol holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Merchant muvaffaqiyatli yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Merchant topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payments":{"get":{"tags":["Agroteh Service","To'lov tranzaksiyalari"],"summary":"To'lovlar ro'yxati","description":"To'lovlar ro'yxati","operationId":"15685d92351516e07c35dce3e31e6775","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"category_id","in":"query","description":"Kategoriya ID","schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"Tur ID","schema":{"type":"integer"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv (invoice_id yoki transaction_id)","schema":{"type":"string"}},{"name":"state","in":"query","description":"Holat","schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","To'lov tranzaksiyalari"],"summary":"Invoice uchun to'lov yaratish","description":"Invoice uchun to'lov yaratish","operationId":"683f406fcc98ca91b0f8dc3f96172a6c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["invoice_id"],"properties":{"invoice_id":{"description":"Invoice ID (to'lanmagan)","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli to'landi"},"400":{"description":"Xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payments\/{id}":{"get":{"tags":["Agroteh Service","To'lov tranzaksiyalari"],"summary":"To'lov tafsilotlari","description":"To'lov tafsilotlari","operationId":"421e5b40b89eac68a7e2c45b485b3bef","parameters":[{"name":"id","in":"path","description":"To'lov ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payments\/unpaid-invoices":{"get":{"tags":["Agroteh Service","To'lov tranzaksiyalari"],"summary":"To'lanmagan invoicelar ro'yxati","description":"To'lanmagan invoicelar ro'yxati (to'lov uchun)","operationId":"b0a4974f8681085795c07523b27fc9e7","parameters":[{"name":"customer_id","in":"query","description":"Mijoz ID","schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/invoices\/payments\/statistics":{"get":{"tags":["Agroteh Service","To'lov tranzaksiyalari"],"summary":"To'lovlar statistikasi","description":"To'lovlar statistikasi","operationId":"8cd78d8e652bd7d494e520b788f64b8c","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"To'lov turlari ro'yxati","description":"Barcha to'lov turlari ro'yxatini olish. Kategoriya bo'yicha filtrlash mumkin. Default holatda \"min\" kategoriyasi chiqarib tashlanadi (exclude_min=true). Sahifalash qo'llab-quvvatlanadi (default: 50 ta, per_page=-1 bo'lsa hammasi).","operationId":"48bda422a2fa5ddea30abf249a8618eb","parameters":[{"name":"category","in":"query","description":"Kategoriya bo'yicha filtrlash (vehicle_med, vehicle_reg, driver_lic va boshqalar)","schema":{"type":"string"}},{"name":"exclude_min","in":"query","description":"Min (eng kam ish haqi) kategoriyasini chiqarib tashlash (default: true)","schema":{"type":"boolean","default":true}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa hammasi)","schema":{"type":"integer","default":50}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov turlari ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turlari ro'yxati"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentTypeListResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Yangi to'lov turi qo'shish","description":"Yangi to'lov turini yaratish. Kategoriya, nom va to'lov miqdori (BHM foizida) majburiy. Bir xil nom va kategoriya kombinatsiyasi takrorlanishi mumkin emas. Yaratilgan to'lov turi faoliyat jurnalida (activity log) qayd etiladi.","operationId":"105657a369151fc96ece07e3a0256143","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["category","name","payment"],"properties":{"category":{"description":"To'lov kategoriyasi","type":"string","enum":["vehicle_med","vehicle_num","vehicle_pass","driver_lic","vehicle_cer","driver_exam","vehicle_reg","vehicle_out","vehicle_tm","vehicle_unfit","min"]},"name":{"description":"To'lov nomi","type":"string","example":"Texnik ko'rik uchun to'lov"},"payment":{"description":"To'lov miqdori (BHM foizida, %)","type":"number","example":5.5},"code":{"description":"To'lov kodi: new (yangi xizmat), rec (qayta xizmat)","type":"string","example":"new"},"key_payment":{"description":"To'lov kaliti (vehicle, agregat va boshqalar)","type":"string","example":"vehicle"}},"type":"object"}}}},"responses":{"201":{"description":"To'lov turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi yaratildi"},"data":{"$ref":"#\/components\/schemas\/PaymentTypeListResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi yoki nom+kategoriya allaqachon mavjud"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/categories":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"To'lov kategoriyalari ro'yxati","description":"Mavjud to'lov kategoriyalari ro'yxatini olish. Frontend'da select elementini to'ldirish uchun ishlatiladi. Kategoriyalar: vehicle_med, vehicle_num, vehicle_pass, driver_lic, vehicle_cer, driver_exam, vehicle_reg, vehicle_out, vehicle_tm, vehicle_unfit, min.","operationId":"cea96e7bfbbb5a97f65e2cda60859713","responses":{"200":{"description":"Muvaffaqiyatli - kategoriyalar ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"string","example":"vehicle_med"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/min":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Eng kam ish haqi (BHM) qiymatini olish","description":"Joriy eng kam ish haqi (bazaviy hisoblash miqdori - BHM) qiymatini olish. Bu qiymat boshqa to'lov turlarining summasini hisoblashda asos bo'ladi. \"min\" kategoriyasidagi yozuv qaytariladi.","operationId":"76d03414ac38388aab8ca32bd0e39ecc","responses":{"200":{"description":"Muvaffaqiyatli - BHM qiymati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/PaymentTypeListResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Eng kam ish haqi topilmadi - bazada \"min\" kategoriyasi mavjud emas"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/{paymentType}":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Bitta to'lov turi ma'lumotlarini olish","description":"Berilgan ID bo'yicha to'lov turining to'liq ma'lumotlarini olish: kategoriya, nom, to'lov miqdori, kod va kalit.","operationId":"546ef1d82d43d3a960190d28132b998b","parameters":[{"name":"paymentType","in":"path","description":"To'lov turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov turi ma'lumotlari qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/PaymentTypeListResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","To'lov turlari"],"summary":"To'lov turini yangilash","description":"Mavjud to'lov turini yangilash. Faqat yuborilgan maydonlar yangilanadi. O'zgarish faoliyat jurnalida (activity log) qayd etiladi.","operationId":"5e726a1cbfb220f1c0e1f6b1ed2ba8c8","parameters":[{"name":"paymentType","in":"path","description":"To'lov turi ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"To'lov nomi","type":"string","example":"Texnik ko'rik uchun to'lov"},"category":{"description":"To'lov kategoriyasi","type":"string","example":"vehicle_med"},"payment":{"description":"To'lov miqdori (BHM foizida, %)","type":"number","example":5.5},"code":{"description":"To'lov kodi","type":"string","example":"new"},"key_payment":{"description":"To'lov kaliti","type":"string","example":"vehicle"}},"type":"object"}}}},"responses":{"200":{"description":"To'lov turi muvaffaqiyatli yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","To'lov turlari"],"summary":"To'lov turini o'chirish","description":"Mavjud to'lov turini bazadan butunlay o'chirish. O'chirish faoliyat jurnalida (activity log) qayd etiladi. Diqqat: bu amal qaytarib bo'lmaydi!","operationId":"ab788eb82fd0390b3901e2894eaed33e","parameters":[{"name":"paymentType","in":"path","description":"To'lov turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turi muvaffaqiyatli o'chirildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/calculate\/technical-pass":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Texnik pasport\/guvohnoma to'lovini hisoblash","description":"Texnik pasport yoki guvohnoma qayta berish uchun to'lov summasini (BHM foizida) olish. type parametri orqali guvohnoma (certificate) yoki pasport (passport) tanlanadi, payment parametri orqali to'lov kaliti (key_payment) ko'rsatiladi.","operationId":"ad232a851e5a0f8d5eef70d6be61ce48","parameters":[{"name":"type","in":"query","description":"Hujjat turi: certificate (guvohnoma) yoki passport (texnik pasport)","required":true,"schema":{"type":"string"}},{"name":"payment","in":"query","description":"To'lov kaliti (key_payment qiymati)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov foizi qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"payment":{"description":"To'lov miqdori (BHM foizida)","type":"number","example":5.5}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi - berilgan parametrlar bo'yicha mos to'lov turi mavjud emas"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/calculate\/vehicle-reg":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Texnikani ro'yxatga olish to'lovini hisoblash","description":"Berilgan texnika ID asosida ro'yxatga olish to'lov summasini hisoblash. Texnika turi (agregat yoki vehicle) avtomatik aniqlanadi. Summa = BHM * (to'lov foizi \/ 100) formula bo'yicha hisoblanadi.","operationId":"4b04baf9c1ac4aebb661349d47f91d93","parameters":[{"name":"vehicle_id","in":"query","description":"Texnika ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov summasi hisoblandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalculatedPaymentAmount"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika yoki to'lov turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/calculate\/driver-licence":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Haydovchilik guvohnomasi to'lovini hisoblash","description":"Haydovchilik guvohnomasi berish yoki qayta berish uchun to'lov summasini hisoblash. Yangi guvohnoma uchun type parametri, qayta berish uchun reason parametri yuboriladi. Summa = BHM * (to'lov foizi \/ 100) formula bo'yicha hisoblanadi.","operationId":"43d9c3021932d6d34ddbe08d75e897d0","parameters":[{"name":"type","in":"query","description":"Guvohnoma turi (yangi guvohnoma uchun)","schema":{"type":"string"}},{"name":"reason","in":"query","description":"Qayta berish sababi (qayta guvohnoma uchun)","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov summasi hisoblandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalculatedPaymentAmount"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi yoki BHM topilmadi"},"422":{"description":"Validatsiya xatosi - type yoki reason parametri kerak"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/calculate\/reg-out":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Texnikani ro'yxatdan chiqarish to'lovini hisoblash","description":"Berilgan texnika ID asosida ro'yxatdan chiqarish to'lov summasini hisoblash. Texnika turi (type maydoni) avtomatik aniqlanadi va mos to'lov turi topiladi. Summa = BHM * (to'lov foizi \/ 100) formula bo'yicha hisoblanadi.","operationId":"e59fa4dc5b71fc5a73a43f6c3c41dccc","parameters":[{"name":"vehicle_id","in":"query","description":"Texnika ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov summasi hisoblandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CalculatedPaymentAmount"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika, BHM yoki to'lov turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/payment-types\/calculate\/vehicle-med":{"get":{"tags":["Agroteh Service","To'lov turlari"],"summary":"Texnik ko'rik to'lovini olish","description":"Berilgan to'lov turi ID asosida texnik ko'rik uchun to'lov miqdorini (BHM foizida) olish. Bu endpoint to'lov summasini hisoblash uchun emas, balki foiz qiymatini qaytaradi.","operationId":"301f7a60ceee2e50a930ce9e572395e9","parameters":[{"name":"type_id","in":"query","description":"To'lov turi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - to'lov foizi qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"payment":{"description":"To'lov miqdori (BHM foizida)","type":"number","example":5.5}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register":{"get":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register arizalar ro'yxati","description":"Barcha viloyatlar aro texnika ko'chirish arizalarini filtrlash va sahifalash imkoniyati bilan ko'rish.","operationId":"7b72cd4a6ea8baead401c3daa708148e","parameters":[{"name":"status","in":"query","description":"0=Kutilmoqda, 1=Tasdiqlandi, 2=Rad etildi, 3=Bekor qilindi","schema":{"type":"integer","enum":[0,1,2,3]}},{"name":"region_id","in":"query","description":"Viloyat ID (from yoki to bo'yicha)","schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID (from yoki to bo'yicha)","schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Qidiruv (ariza ID, texnika ID, egasi nomi)","schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"}},"meta":{"type":"object"},"links":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Yangi pere-register arizasi yaratish","description":"Texnikani boshqa viloyat\/tumanga ko'chirish uchun ariza yuborish. Texnika ro'yxatga olingan va qulflanmagan bo'lishi shart. Yangi egasi boshqa tuman\/viloyatda ro'yxatdan o'tgan bo'lishi kerak.","operationId":"1986d0eae57677d7986c667648e24f31","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id","customer_id"],"properties":{"vehicle_id":{"description":"Texnika ID","type":"integer","example":100},"customer_id":{"description":"Yangi egasi ID","type":"integer","example":55},"reason":{"description":"Ko'chirish sababi","type":"string","example":"Sotildi","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Ariza muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Pere-register arizasi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"409":{"description":"Texnika uchun faol ariza allaqachon mavjud"},"422":{"description":"Validatsiya xatosi yoki biznes qoida buzilishi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/{pereRegister}":{"get":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register arizasi tafsilotlari","operationId":"b8e71700c21e6d3c80e652ee46fd57d8","parameters":[{"name":"pereRegister","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/{pereRegister}\/accept":{"post":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register arizasini tasdiqlash","description":"Ariza kutilayotgan (PENDING) holatida bo'lishi shart. Tasdiqlangandan so'ng texnika avtomatik yangi egaga qayta ro'yxatga olinadi.","operationId":"67c569db9cbb02b790e7ed1eec5e85a0","parameters":[{"name":"pereRegister","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"properties":{"invoice_id":{"description":"To'lov hujjati ID","type":"integer","nullable":true},"payment_type_id":{"description":"To'lov turi ID","type":"integer","nullable":true},"free_service":{"description":"Bepul xizmat","type":"boolean","nullable":true},"doc":{"description":"Hujjat raqami","type":"string","nullable":true},"doc_note":{"description":"Hujjat izohi","type":"string","nullable":true},"note":{"description":"Qo'shimcha izoh","type":"string","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Ariza tasdiqlandi va texnika qayta ro'yxatga olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza tasdiqlandi va texnika qayta ro'yxatga olindi"},"data":{"properties":{"request":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"},"registration_id":{"description":"Yangi ro'yxatga olish ID","type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"409":{"description":"Ariza kutilayotgan holatda emas"},"422":{"description":"Qayta ro'yxatga olishda xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/{pereRegister}\/reject":{"post":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register arizasini rad etish","description":"Ariza kutilayotgan (PENDING) holatida bo'lishi shart. Rad etish sababi majburiy.","operationId":"57a7e0aaa3f4f540c59599600363a2f8","parameters":[{"name":"pereRegister","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["reject_reason"],"properties":{"reject_reason":{"description":"Rad etish sababi","type":"string","example":"Texnika hujjatlari to'liq emas"}},"type":"object"}}}},"responses":{"200":{"description":"Ariza rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza rad etildi"},"data":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"409":{"description":"Ariza kutilayotgan holatda emas"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/{pereRegister}\/cancel":{"post":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register arizasini bekor qilish","description":"Faqat arizani yaratgan foydalanuvchi va faqat kutilayotgan (PENDING) holatdagi arizani bekor qilishi mumkin.","operationId":"200944028694cc0d8d50600721a208e9","parameters":[{"name":"pereRegister","in":"path","description":"Ariza ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/PereRegisterRequestResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat berilmagan \u2014 faqat ariza muallifi bekor qila oladi"},"404":{"description":"Ariza topilmadi"},"409":{"description":"Ariza kutilayotgan holatda emas"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/statistics":{"get":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Pere-register statistikasi","description":"Barcha arizalar soni holat bo'yicha, bugungi va oxirgi 30 kun statistikasi.","operationId":"abcb219302e5d1d73e4d65f712e7b0b9","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat bo'yicha cheklash","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer"},"by_status":{"properties":{"pending":{"type":"integer"},"accepted":{"type":"integer"},"rejected":{"type":"integer"},"cancelled":{"type":"integer"}},"type":"object"},"today":{"type":"integer"},"last_30_days":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/incoming":{"get":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Kelib tushgan arizalar (mening hududimga)","description":"Auth foydalanuvchining hududi (region\/city) ga kelib tushgan arizalar. Qabul qiluvchi tuman\/viloyat bo'yicha filtr qilinadi.","operationId":"34274587b89bf8743078c74e875dca67","parameters":[{"name":"status","in":"query","description":"0=Kutilmoqda, 1=Tasdiqlandi, 2=Rad etildi, 3=Bekor qilindi","schema":{"type":"integer","enum":[0,1,2,3]}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"created_at"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/pere-register\/outgoing":{"get":{"tags":["Agroteh Service","Pere-Register - Viloyatlar aro texnika ko'chirish"],"summary":"Yuborilgan arizalar (mening hududimdan)","description":"Auth foydalanuvchining hududidan yuborilgan arizalar. Jo'natuvchi tuman\/viloyat bo'yicha filtr qilinadi.","operationId":"745315d76259d0cd85ab5606a40a407f","parameters":[{"name":"status","in":"query","description":"0=Kutilmoqda, 1=Tasdiqlandi, 2=Rad etildi, 3=Bekor qilindi","schema":{"type":"integer","enum":[0,1,2,3]}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"created_at"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/prokuratura":{"get":{"tags":["Agroteh Service","Prokuratura"],"summary":"Prokuratura so'rovlari ro'yxati","description":"Prokuraturadan kelgan barcha so'rovlarni filtrlash va sahifalash bilan ko'rish","operationId":"012ef4e9fc4fb04fc65147fc5771bd99","parameters":[{"name":"status","in":"query","description":"Holat (-1=xatolik, 0=yangi, 1=jarayonda, 2=yakunlandi)","schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"So'rov turi (1=texnika, 2=haydovchilik guvohnomasi)","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv: so'rov mazmuni bo'yicha","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id","enum":["id","status","type_id","created_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProkuraturaRequestResource"}},"meta":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/prokuratura\/statistics":{"get":{"tags":["Agroteh Service","Prokuratura"],"summary":"Prokuratura so'rovlari statistikasi","description":"So'rovlar soni holatlar va turlar bo'yicha statistika","operationId":"72b2bb07f3b77eafd4fa5263920b880c","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":320},"by_status":{"properties":{"new":{"type":"integer","example":50},"processing":{"type":"integer","example":30},"completed":{"type":"integer","example":230},"error":{"type":"integer","example":10}},"type":"object"},"by_type":{"properties":{"vehicle_info":{"type":"integer","example":200},"licence_info":{"type":"integer","example":120}},"type":"object"},"today":{"type":"integer","example":15}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/prokuratura\/{id}":{"get":{"tags":["Agroteh Service","Prokuratura"],"summary":"Prokuratura so'rovi ma'lumotlari","description":"Bitta Prokuratura so'rovining to'liq ma'lumotlarini ko'rish","operationId":"eb1048e15f3f1df665deccb27ef907f6","parameters":[{"name":"id","in":"path","description":"So'rov ID si","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ProkuraturaRequestResource"}},"type":"object"}}}},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/prokuratura\/vehicle-info":{"post":{"tags":["Agroteh Service","Prokuratura"],"summary":"Prokuratura: texnika ma'lumotlari so'rovi (webhook)","description":"Prokuratura STIR yoki PINFL yuboradi, tizim mos texnikalar, ro'yxatga olish va texnik ko'rik ma'lumotlarini qaytaradi. webhook.secret middleware bilan himoyalangan.","operationId":"ce18d9b2d0ee5f00e8919e592cb8b7be","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tin":{"description":"Tashkilot STIR (14 ta raqam)","type":"string","example":"123456789","nullable":true},"pinfl":{"description":"Jismoniy shaxs PINFL (14 ta raqam)","type":"string","example":"12345678901234","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli \u2014 texnika ma'lumotlari qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"owner":{"description":"Egasi ma'lumotlari","type":"object"},"vehicles":{"type":"array","items":{"type":"object"}},"total":{"type":"integer","example":3}},"type":"object"}},"type":"object"}}}},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 STIR yoki PINFL majburiy"}}}},"\/api\/v1\/prokuratura\/licence-info":{"post":{"tags":["Agroteh Service","Prokuratura"],"summary":"Prokuratura: haydovchilik guvohnomasi ma'lumotlari so'rovi (webhook)","description":"Prokuratura PINFL yuboradi, tizim mos haydovchilik guvohnomasi ma'lumotlarini qaytaradi. webhook.secret middleware bilan himoyalangan.","operationId":"2b1eeeb9a3c4d7b7661448789b8db09c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"description":"Jismoniy shaxs PINFL (14 ta raqam)","type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli \u2014 haydovchilik guvohnomasi ma'lumotlari qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"owner":{"description":"Egasi ma'lumotlari","type":"object"},"licences":{"type":"array","items":{"type":"object"}},"total":{"type":"integer","example":1}},"type":"object"}},"type":"object"}}}},"404":{"description":"Mijoz topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 PINFL majburiy"}}}},"\/api\/v1\/references\/colors":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Ranglar ro'yxati","description":"Barcha faol ranglar ro'yxatini olish","operationId":"d0cdf51876b940d46ae9471bedeb247f","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"hex_code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/fuel-types":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Yoqilg'i turlari","description":"Barcha faol yoqilg'i turlari ro'yxatini olish","operationId":"9c7bce209cc750600ec9d795355c78a5","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/factories":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Zavodlar ro'yxati","description":"Barcha faol zavodlar ro'yxatini olish","operationId":"acc6aaf2a20cf7ece89d748d712381e0","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidirish","schema":{"type":"string"}},{"name":"country","in":"query","description":"Mamlakat bo'yicha filtrlash","schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"country":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/vehicle-types":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Texnika turlari","description":"Barcha faol texnika turlari ro'yxatini olish","operationId":"98ad6f3e06d8012a0cfd3f65582fe919","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/vehicle-brands":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Texnika brendlari","description":"Barcha faol texnika brendlari ro'yxatini olish","operationId":"c8676bfe9fca509fb9d8ac286170c703","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidirish","schema":{"type":"string"}},{"name":"vehicle_type_id","in":"query","description":"Texnika turi bo'yicha filtrlash","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"vehicle_type_id":{"type":"integer"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/working-types":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Ish turlari","description":"Barcha faol ish turlari ro'yxatini olish","operationId":"663b2f38de0db2ef9dcbe3e4869f4308","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/ownership-forms":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Mulkchilik shakllari","description":"Barcha faol mulkchilik shakllari ro'yxatini olish","operationId":"43e09650fe18f1cc6fdc4c950a723523","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/vehicle-lockers":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Taqiq qo'yuvchi tashkilotlar","description":"Barcha faol taqiq qo'yuvchi tashkilotlar ro'yxatini olish","operationId":"6d7db823a8993e60a461c8f29cfb2926","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"short_name":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/payment-categories":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"To'lov kategoriyalari","description":"Barcha faol to'lov kategoriyalari ro'yxatini olish","operationId":"a014f92a10b94a8cd4bc15af9eec6cc8","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"description":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/payment-types":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"To'lov turlari","description":"Barcha faol to'lov turlari ro'yxatini olish","operationId":"5a56007e8a07659ac725841da7809c42","parameters":[{"name":"category_id","in":"query","description":"Kategoriya bo'yicha filtrlash","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"category_id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"amount":{"type":"number"},"bhm_coefficient":{"type":"number"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/service-types":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Xizmat turlari","description":"Barcha xizmat turlari ro'yxatini olish","operationId":"fef33977ad57388133c332b65827e034","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/all":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Barcha ma'lumotnomalar","description":"Barcha ma'lumotnomalarni bitta so'rov bilan olish","operationId":"8dc6ae4161af6e5113409cb1f1afc541","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"colors":{"type":"array","items":{"type":"object"}},"fuel_types":{"type":"array","items":{"type":"object"}},"factories":{"type":"array","items":{"type":"object"}},"vehicle_types":{"type":"array","items":{"type":"object"}},"vehicle_brands":{"type":"array","items":{"type":"object"}},"working_types":{"type":"array","items":{"type":"object"}},"ownership_forms":{"type":"array","items":{"type":"object"}},"vehicle_lockers":{"type":"array","items":{"type":"object"}},"payment_categories":{"type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/references\/brands\/{brand}":{"get":{"tags":["Agroteh Service","Ma'lumotnomalar"],"summary":"Brend tafsilotlari","description":"Brend bo'yicha turlar va ish turlari ma'lumotlari","operationId":"921ece241e8a8bae86c06d99541c57d1","parameters":[{"name":"brand","in":"path","description":"Brend ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"brand":{"type":"object"},"vehicle_type":{"type":"object"},"working_type":{"type":"object"}},"type":"object"}},"type":"object"}}}},"404":{"description":"Brend topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/regions\/{region}":{"get":{"tags":["Agroteh Service","Regions"],"summary":"Viloyat ma'lumotlari","operationId":"0fde5fd2cea4a8b2766ff043c9e2959c","parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"put":{"tags":["Agroteh Service","Regions"],"summary":"Viloyatni yangilash","operationId":"5368a817be3056463e2e7c49eb771357","parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Toshkent viloyati"},"name_uz":{"type":"string","example":"Toshkent viloyati"},"name_ru":{"type":"string","example":"\u0422\u0430\u0448\u043a\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"},"name_en":{"type":"string","example":"Tashkent region"},"country_id":{"description":"Davlat ID","type":"integer","example":1},"code":{"description":"Viloyat kodi","type":"string","example":"TAS"},"series":{"description":"Tr.-mashinist guvohnomasi seriya prefiksi","type":"string","example":"UZ-AB"},"soato":{"description":"SOATO kodi","type":"integer","example":1727},"is_active":{"description":"Faol holati","type":"boolean","example":true},"sort_order":{"description":"Tartib raqami","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Validatsiya xatosi"}}},"delete":{"tags":["Agroteh Service","Regions"],"summary":"Viloyatni o'chirish","operationId":"a2c4a451ac7631feacff7b5ec2493bf3","parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/regions\/{region}\/districts":{"get":{"tags":["Agroteh Service","Regions"],"summary":"Viloyat tumanlari","operationId":"02cfc30fc7e4b59e98cb2b5774c8aebd","parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":-1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}}},"\/api\/v1\/registrations":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olishlar ro'yxati","description":"Barcha ro'yxatga olish operatsiyalari ro'yxatini filtrlash imkoniyati bilan olish. list_type=outof bo'lsa ro'yxatdan chiqarilgan texnikalar ro'yxati (outof=1 OR unfit=1).","operationId":"ac8cd084221a69087b19c11720c2335a","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"list_type","in":"query","description":"Ro'yxat turi: outof bo'lsa ro'yxatdan chiqarilgan texnikalar","schema":{"type":"string","enum":["outof"]}},{"name":"search","in":"query","description":"Umumiy qidiruv (PINFL, INN, FIO, reference_id, transport raqami)","schema":{"type":"string"}},{"name":"reference_id","in":"query","description":"Ma'lumotnoma raqami bo'yicha qidirish","schema":{"type":"string"}},{"name":"action","in":"query","description":"Amal turi","schema":{"type":"string","enum":["regged","unregged"]}},{"name":"status","in":"query","description":"Holat","schema":{"type":"string","enum":["pending","active","completed","cancelled"]}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID","schema":{"type":"integer"}},{"name":"customer_id","in":"query","description":"Mijoz ID","schema":{"type":"integer"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"from","in":"query","description":"Boshlanish sanasi (date_from alias)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (date_to alias)","schema":{"type":"string","format":"date"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"is_temporary","in":"query","description":"Vaqtinchalik ro'yxatga olish","schema":{"type":"boolean"}},{"name":"outof","in":"query","description":"Ro'yxatdan chiqarilgan","schema":{"type":"boolean"}},{"name":"unfit","in":"query","description":"Yaroqsiz","schema":{"type":"boolean"}},{"name":"tax_id","in":"query","description":"Soliq ID (INN\/PINFL\/ID number) \u2014 faqat list_type=outof","schema":{"type":"string"}},{"name":"tech_number","in":"query","description":"Texnik raqam \u2014 faqat list_type=outof","schema":{"type":"string"}},{"name":"vehicle_type","in":"query","description":"Texnika turi \u2014 faqat list_type=outof","schema":{"type":"string","enum":["vehicle","agregat","tirkama"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/statistics":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olishlar statistikasi","description":"Ro'yxatga olishlar bo'yicha umumiy statistika. type=outof bo'lsa ro'yxatdan chiqarilgan texnikalar statistikasi.","operationId":"c8662ee5c8c10727253c4a46445fefc0","parameters":[{"name":"type","in":"query","description":"Statistika turi: outof bo'lsa ro'yxatdan chiqarilganlar","schema":{"type":"string","enum":["outof"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"from","in":"query","description":"Boshlanish sanasi (alias)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (alias)","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":150},"completed":{"type":"integer","example":120},"pending":{"type":"integer","example":25},"cancelled":{"type":"integer","example":5},"temporary":{"type":"integer","example":10},"by_action":{"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olish ma'lumotlari","description":"Bitta ro'yxatga olish haqida to'liq ma'lumot","operationId":"d89914b0e53abb2cc46a7154a062c52a","parameters":[{"name":"registration","in":"path","description":"Ro'yxatga olish ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olish va texnika ma'lumotlarini tahrirlash","description":"Ro'yxatga olish yozuvi va unga bog'liq texnika (vehicle) ma'lumotlarini birgalikda tahrirlash.\nuzagroteh-main VehicalControler@updatevehical bilan bir xil.\n\n**Qoidalar:**\n- Faqat `pending` yoki `active` statusdagi yozuvni tahrirlash mumkin\n- Barcha maydonlar ixtiyoriy \u2014 faqat yuborilganlari yangilanadi\n- `is_temporary` o'zgarganda `reason_file` majburiy (prohibition lock\/unlock, 325-qaror)\n- `lising` o'zgarganda `lising_reason_file` majburiy\n- `engine_no`, `chassis_no` unikal bo'lishi kerak (boshqa texnikada mavjud bo'lmasligi)\n- `engine_no_none=true` yuborilsa `engine_no` null bo'ladi (shassi, kuzov, zavod raqami ham shu kabi)","operationId":"95a18eafee853b79380b77876c568bec","parameters":[{"name":"registration","in":"path","description":"Ro'yxatga olish ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"type":{"description":"Texnika turi","type":"string","enum":["agregat","tirkama","vehicle"]},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer"},"category_id":{"description":"Kategoriya ID","type":"integer"},"vehicle_brand_id":{"description":"Brend ID","type":"integer"},"vehicle_type_id":{"description":"Texnika tipi ID","type":"integer"},"working_type_id":{"description":"Ish turi ID","type":"integer"},"factory_id":{"description":"Zavod ID","type":"integer"},"supplier_id":{"description":"Yetkazib beruvchi ID","type":"integer"},"color_id":{"description":"Rang ID","type":"integer"},"fuel_type_id":{"description":"Yoqilg'i turi ID","type":"integer"},"condition":{"description":"Holat","type":"string","enum":["new","used","unfit"]},"model_year":{"description":"Ishlab chiqarilgan yili","type":"integer","example":2024},"chassis_no":{"description":"Shassi raqami (unikal)","type":"string"},"factory_number":{"description":"Zavod raqami","type":"string"},"corpus_no":{"description":"Kuzov raqami","type":"string"},"engine_no":{"description":"Dvigatel raqami (unikal)","type":"string"},"engine_size":{"description":"Dvigatel quvvati","type":"string"},"weight":{"description":"Yuksiz vazni","type":"string"},"weight_full":{"description":"To'la vazni","type":"string"},"engine_no_none":{"description":"Dvigatel raqami yo'q","type":"boolean"},"chassis_no_none":{"description":"Shassi raqami yo'q","type":"boolean"},"corpus_no_none":{"description":"Kuzov raqami yo'q","type":"boolean"},"factory_number_none":{"description":"Zavod raqami yo'q","type":"boolean"},"lising":{"description":"Lizing (o'zgarganda lising_reason_file majburiy)","type":"boolean"},"gps":{"description":"GPS o'rnatilgan","type":"boolean"},"doc":{"description":"Asos hujjat ID (documents jadvalidan, service=registration)","type":"integer"},"doc_note":{"description":"Hujjat izohi","type":"string"},"note":{"description":"Izoh","type":"string"},"date":{"description":"Sana","type":"string","format":"date"},"is_temporary":{"description":"Vaqtinchalik ro'yxatga olish (o'zgarganda reason_file majburiy)","type":"boolean"},"total_amount":{"description":"To'lov miqdori","type":"number","format":"float"},"paid_amount":{"description":"To'langan summa","type":"number","format":"float"},"discount":{"description":"Chegirma miqdori","type":"number","format":"float"},"receiver_region_id":{"description":"Qabul qiluvchi viloyat ID","type":"integer"},"receiver_district_id":{"description":"Qabul qiluvchi tuman ID","type":"integer"},"receiver_phone":{"description":"Qabul qiluvchi telefoni","type":"string"},"receiver_address":{"description":"Qabul qiluvchi manzili","type":"string"},"receiver_tax_id":{"description":"Qabul qiluvchi STIR\/JSHSHIR","type":"string"},"outof_reason":{"description":"Ro'yxatdan chiqarish sababi","type":"string"},"unfit_reason":{"description":"Yaroqsizlik sababi","type":"string"},"edit_type":{"description":"Qaysi parametr o'zgartirilgani: 1=model_year, 2=brand, 3=numbers, 4=weight, 5=weight_full, 6=fuel, 7=color","type":"integer","enum":[1,2,3,4,5,6,7]},"edit_reason_file":{"description":"Tahrirlash sabab fayli (PDF, JPG, PNG, max 5MB). edit_type tanlanganida tavsiya etiladi","type":"string","format":"binary"},"reason_file":{"description":"Sabab fayli (PDF, JPG, PNG, max 5MB). is_temporary o'zgarganda MAJBURIY","type":"string","format":"binary"},"lising_reason_file":{"description":"Lizing sabab fayli (PDF, JPG, PNG, max 5MB). lising o'zgarganda MAJBURIY","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli tahrirlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ro'yxatga olish muvaffaqiyatli tahrirlandi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Validatsiya xatosi yoki tahrirlash mumkin emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Lizing holatni o'zgartirish uchun sabab fayli majburiy"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reference\/{referenceId}":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Reference ID bo'yicha qidirish","description":"Ro'yxatga olishni ma'lumotnoma raqami bo'yicha topish","operationId":"16188533aa4229803395ad5f40eefdb0","parameters":[{"name":"referenceId","in":"path","description":"Ma'lumotnoma raqami","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/vehicle\/{vehicleId}\/history":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Transport vositaning ro'yxatga olish tarixi","description":"Transport vositaning barcha ro'yxatga olish operatsiyalari tarixi","operationId":"345706b7c19d490e947420ab31f57787","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/RegistrationResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Transport vositaning ro'yxatga olish holatini tekshirish","description":"Transport vositaning hozirgi ro'yxatga olish holati haqida ma'lumot","operationId":"b5d8f9fae6308b27be6c8d78a3563f51","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"is_registered":{"description":"Ro'yxatga olingan","type":"boolean"},"is_temporary":{"description":"Vaqtinchalik ro'yxatga olish","type":"boolean"},"is_outof":{"description":"Ro'yxatdan chiqarilgan","type":"boolean"},"is_unfit":{"description":"Yaroqsiz","type":"boolean"},"can_register":{"description":"Ro'yxatga olish mumkin","type":"boolean"},"can_reregister":{"description":"Qayta ro'yxatga olish mumkin","type":"boolean"},"can_unregister":{"description":"Ro'yxatdan chiqarish mumkin","type":"boolean"},"current_registration":{"type":"object","nullable":true},"registrations_count":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Mijozning ro'yxatga olish tarixi","description":"Mijozning barcha transport vositalari ro'yxatga olish tarixi va statistikasi","operationId":"2ab2668a161629f2d6d170fd8678450f","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"statistics":{"type":"object"},"registrations":{"type":"array","items":{"$ref":"#\/components\/schemas\/RegistrationResource"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/customer\/{customerId}\/paid-invoices":{"get":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Mijozning to'langan invoyslarini olish","description":"Ro'yxatga olish formasi uchun \u2014 mijozning to'langan, hali foydalanilmagan invoyslarini qaytaradi. \"Invoysni tanlang\" dropdown uchun.","operationId":"df4ca3823de975271e5314e9934755c1","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/register":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Dastlabki ro'yxatga olish","description":"Transport vositani birinchi marta ro'yxatga olish. Texnika unregged holatda va qulflanmagan bo'lishi kerak. district_id va region_id avtomatik mijoz (owner_id) dan aniqlanadi. To'lov: invoice_id (mavjud to'langan), payment_type_id (yangi invoice yaratish) yoki free_service=true (bepul).","operationId":"3404feafa15fe26869fb6451d2104d60","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id","owner_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID \u2014 district_id avtomatik mijoz.city_id dan olinadi","type":"integer","example":1},"doc":{"description":"Hujjat","type":"string"},"doc_note":{"description":"Hujjat izohi","type":"string"},"note":{"description":"Izoh","type":"string","example":"Dastlabki ro'yxatga olish"},"is_temporary":{"description":"Vaqtinchalik ro'yxatga olish","type":"boolean","example":false},"total_amount":{"description":"Jami summa (so'mda)","type":"number"},"free_service":{"description":"Bepul xizmat","type":"boolean"},"invoice_id":{"description":"Mavjud to'langan invoice ID. GET \/invoices\/customer\/{customerId}?status=2 orqali olinadi","type":"integer"},"payment_type_id":{"description":"To'lov turi ID - yangi invoice yaratish uchun. GET \/invoices\/payment-types orqali olinadi","type":"integer"},"reason_file":{"description":"Sabab fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Ro'yxatga olish yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ro'yxatga olish muvaffaqiyatli amalga oshirildi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/register-new":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Yangi texnika yaratish va ro'yxatga olish","description":"Yangi texnika yaratadi va bir vaqtda ro'yxatga oladi.\nuzagroteh-main certificate\/regadd \"Yangi ro'yxatdan o'tkazish\" tab bilan bir xil.\ndistrict_id avtomatik mijoz (owner_id) dan olinadi.","operationId":"aa0b347decb3eb83de3a511752c54f3c","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["type","owner_id","vehicle_brand_id","working_type_id","factory_id","supplier_id","color_id","condition","model_year","weight","weight_full"],"properties":{"type":{"description":"Texnika turi","type":"string","enum":["agregat","tirkama","vehicle"]},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer"},"category_id":{"description":"Kategoriya ID","type":"integer"},"vehicle_brand_id":{"description":"Brend ID","type":"integer"},"working_type_id":{"description":"Ish turi ID","type":"integer"},"factory_id":{"description":"Zavod ID","type":"integer"},"supplier_id":{"description":"Yetkazib beruvchi ID","type":"integer"},"color_id":{"description":"Rang ID","type":"integer"},"fuel_type_id":{"description":"Yoqilg'i turi ID","type":"integer"},"condition":{"description":"Holat","type":"string","enum":["new","used","unfit"]},"model_year":{"description":"Ishlab chiqarilgan yili","type":"integer","example":2024},"chassis_no":{"description":"Shassi raqami","type":"string"},"factory_number":{"description":"Zavod raqami","type":"string"},"corpus_no":{"description":"Kuzov raqami","type":"string"},"engine_no":{"description":"Dvigatel raqami","type":"string"},"engine_size":{"description":"Dvigatel quvvati","type":"string"},"weight":{"description":"Yuksiz vazni","type":"string"},"weight_full":{"description":"To'la vazni","type":"string"},"engine_no_none":{"description":"Dvigatel raqami yo'q","type":"boolean"},"chassis_no_none":{"description":"Shassi raqami yo'q","type":"boolean"},"corpus_no_none":{"description":"Kuzov raqami yo'q","type":"boolean"},"factory_number_none":{"description":"Zavod raqami yo'q","type":"boolean"},"lising":{"description":"Lizing","type":"boolean"},"gps":{"description":"GPS o'rnatilgan","type":"boolean"},"doc":{"description":"Asos hujjat","type":"string"},"doc_note":{"description":"Hujjat izohi","type":"string"},"note":{"description":"Izoh","type":"string"},"date":{"description":"Sana","type":"string","format":"date"},"is_temporary":{"description":"Vaqtinchalik ro'yxatga olish","type":"boolean"},"invoice_id":{"description":"Mavjud to'langan invoice ID","type":"integer"},"payment_type_id":{"description":"To'lov turi ID","type":"integer"},"free_service":{"description":"Bepul xizmat","type":"boolean"},"reason_file":{"description":"Sabab fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Texnika yaratildi va ro'yxatga olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yangi texnika yaratildi va ro'yxatga olindi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reregister":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Qayta ro'yxatga olish","description":"Transport vositani qayta ro'yxatga olish (egasi o'zgarganda). Avval ro'yxatdan chiqariladi, keyin yangi egaga ro'yxatga olinadi.","operationId":"c3b24f864bf28b8bee0bb35fd0bf46a9","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id","owner_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Yangi egasi ID","type":"integer","example":2},"doc":{"description":"Hujjat","type":"string","example":"Shartnoma"},"doc_note":{"description":"Hujjat izohi","type":"string"},"note":{"description":"Izoh","type":"string"},"is_temporary":{"description":"Vaqtinchalik","type":"boolean","example":false},"receiver_region_id":{"description":"Qabul qiluvchi viloyat ID","type":"integer"},"receiver_district_id":{"description":"Qabul qiluvchi tuman ID","type":"integer"},"receiver_phone":{"description":"Qabul qiluvchi telefoni","type":"string"},"receiver_address":{"description":"Qabul qiluvchi manzili","type":"string"},"invoice_id":{"description":"Mavjud to'langan invoice ID","type":"integer"},"payment_type_id":{"description":"To'lov turi ID","type":"integer"},"free_service":{"description":"Bepul xizmat","type":"boolean"},"reason_file":{"description":"Sabab fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Qayta ro'yxatga olish yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Qayta ro'yxatga olish muvaffaqiyatli amalga oshirildi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/unregister":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatdan chiqarish","description":"Transport vositani ro'yxatdan chiqarish. Bog'liq hujjatlar avtomatik bekor qilinadi.","operationId":"20f1756cc77b686fc1f7b559c33237a8","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"doc":{"description":"Hujjat","type":"string","example":"Ariza"},"doc_note":{"description":"Hujjat izohi","type":"string"},"note":{"description":"Izoh","type":"string"},"unfit":{"description":"Texnika yaroqsiz","type":"boolean","example":false},"unfit_reason":{"description":"Yaroqsizlik sababi","type":"string"},"outof":{"description":"Chetga chiqarildi","type":"boolean","example":false},"outof_reason":{"description":"Chetga chiqarish sababi","type":"string"},"receiver_region_id":{"description":"Qabul qiluvchi viloyat ID","type":"integer"},"receiver_district_id":{"description":"Qabul qiluvchi tuman ID","type":"integer"},"receiver_phone":{"description":"Qabul qiluvchi telefoni","type":"string"},"receiver_address":{"description":"Qabul qiluvchi manzili","type":"string"},"receiver_tax_id":{"description":"Qabul qiluvchi STIR\/JSHSHIR","type":"string"},"reason_file":{"description":"Sabab fayli (PDF, JPG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Ro'yxatdan chiqarish yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ro'yxatdan chiqarish muvaffaqiyatli amalga oshirildi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/confirm":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olishni tasdiqlash","description":"Aktiv ro'yxatga olish yozuvini tasdiqlash (completed). Faqat active statusdagi yozuvni tasdiqlash mumkin.","operationId":"eb72c6271c23f564eb508d44f12d9c07","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ro'yxatga olish tasdiqlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Tasdiqlash mumkin emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat aktiv yozuvni tasdiqlash mumkin"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/cancel":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatga olishni bekor qilish","description":"Aktiv ro'yxatga olish yozuvini bekor qilish (cancelled). Faqat active statusdagi yozuvni bekor qilish mumkin.","operationId":"7864b1376f67376e9dbe01ea61f5e69e","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ro'yxatga olish bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Bekor qilib bo'lmaydi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Tasdiqlangan ro'yxatga olishni bekor qilib bo'lmaydi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/regback":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatdan chiqarishni bekor qilish","description":"Ro'yxatdan chiqarishni bekor qiladi: texnikani regged holatiga qaytaradi, egasini tiklaydi, bog'liq hujjatlarni qayta faollashtiradi.","operationId":"7066361241a55e0ce6c8e71b7a92ca27","parameters":[{"name":"registration","in":"path","description":"Ro'yxatdan chiqarish yozuvi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Bekor qilib bo'lmaydi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/mark-outof":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatdan chiqarilgan deb belgilash","description":"Texnikani ro'yxatdan chiqarilgan deb belgilash (outof=1)","operationId":"46fd81e94f1b385099cde26e9659e7b4","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Ro'yxatdan chiqarish sababi","type":"string","example":"Texnika ishdan chiqqan"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika ro'yxatdan chiqarilgan deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/unmark-outof":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Ro'yxatdan chiqarilgan belgi olib tashlash","description":"Texnikadan ro'yxatdan chiqarilgan belgini olib tashlash (outof=0)","operationId":"c8c62a19af03f06afdb87021beb4bb04","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ro'yxatdan chiqarilgan belgi olib tashlandi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/mark-unfit":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Yaroqsiz deb belgilash","description":"Texnikani yaroqsiz deb belgilash (unfit=1)","operationId":"f2c230349ef71b1213dbf7594b6c28e7","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Yaroqsizlik sababi","type":"string","example":"Texnik holatiga ko'ra yaroqsiz"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika yaroqsiz deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/{registration}\/mark-fit":{"post":{"tags":["Agroteh Service","Ro'yxatga olish"],"summary":"Yaroqli deb belgilash","description":"Texnikani yaroqli deb belgilash (unfit=0)","operationId":"42f4dab75d8a9cb8ca8bcd2694a584b9","parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika yaroqli deb belgilandi"},"data":{"$ref":"#\/components\/schemas\/RegistrationResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ro'yxatga olish topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reglist":{"get":{"tags":["Agroteh Service","Ro'yxatga olish reestr"],"summary":"Ro'yxatdan o'tish muddati tugagan texnikalar ro'yxati","description":"Ro'yxatdan chiqarilganidan belgilangan kundan (default: 10 kun) ko'proq o'tgan, hali qayta ro'yxatga olinmagan texnikalar ro'yxati. Qidiruv: PINFL, INN, FIO, telefon raqami, transport raqami, dvigatel raqami bo'yicha. Filtrlar: viloyat, tuman, sana oralig'i, bildirishnoma holati (yuborilmagan, kutilmoqda, yuborilgan, yetkazilgan, xatolik). Javobda paginatsiya bilan birga umumiy statistika ham qaytariladi.","operationId":"registrationReglistIndex","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default: 50, max: 100, -1 = hammasi)","required":false,"schema":{"type":"integer","example":50,"default":50}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","example":1,"default":1}},{"name":"search","in":"query","description":"Qidirish: PINFL, INN, FIO, telefon raqami, transport raqami, dvigatel raqami","required":false,"schema":{"type":"string","example":"31234567890123"}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"notification_status","in":"query","description":"Bildirishnoma holati bo'yicha filtr","required":false,"schema":{"type":"string","enum":["not_sent","pending","sent","delivered","failed"]}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni (default: 10)","required":false,"schema":{"type":"integer","example":10,"default":10}},{"name":"from","in":"query","description":"Ro'yxatdan chiqarilgan sana \u2014 boshlanish (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2025-01-01"}},{"name":"till","in":"query","description":"Ro'yxatdan chiqarilgan sana \u2014 tugash (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2025-12-31"}}],"responses":{"200":{"description":"Muddati tugagan texnikalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Reestr elementlari massivi","type":"array","items":{"$ref":"#\/components\/schemas\/RegistrationReglistItem"}},"meta":{"description":"Paginatsiya ma'lumotlari (per_page=-1 bo'lganda qaytarilmaydi)","properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":10},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":487}},"type":"object"},"statistics":{"description":"Umumiy statistika","properties":{"total_expired":{"description":"Jami muddati tugaganlar","type":"integer","example":487},"not_notified":{"description":"Bildirishnoma yuborilmaganlar","type":"integer","example":300},"notified":{"description":"Bildirishnoma yuborilganlar","type":"integer","example":187},"delivered":{"description":"Bildirishnoma yetkazilganlar","type":"integer","example":150},"failed":{"description":"Bildirishnoma xatolik bilan","type":"integer","example":12}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 so'rov parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reglist\/statistics":{"get":{"tags":["Agroteh Service","Ro'yxatga olish reestr"],"summary":"Ro'yxatga olish reestr statistikasi","description":"Ro'yxatdan o'tish muddati tugagan texnikalar va bildirishnomalar bo'yicha batafsil statistika. Umumiy ko'rsatkichlar: jami muddati tugaganlar, bildirishnoma holatlari bo'yicha taqsimot. Viloyat bo'yicha taqsimot: har bir viloyatdagi muddati tugagan texnikalar soni. O'tgan kunlar bo'yicha taqsimot: 10-30, 30-60, 60-90 va 90+ kun oraliqlaridagi texnikalar soni.","operationId":"registrationReglistStatistics","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni (default: 10)","required":false,"schema":{"type":"integer","example":10,"default":10}}],"responses":{"200":{"description":"Statistik ma'lumotlar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total_expired":{"description":"Jami muddati tugagan texnikalar soni","type":"integer","example":487},"not_notified":{"description":"Bildirishnoma yuborilmaganlar soni","type":"integer","example":300},"pending":{"description":"Kutilmoqda holati (navbatda)","type":"integer","example":20},"sent":{"description":"Yuborilgan holati","type":"integer","example":25},"delivered":{"description":"Yetkazilgan holati","type":"integer","example":130},"failed":{"description":"Xatolik holati","type":"integer","example":12},"by_region":{"description":"Viloyat bo'yicha taqsimot","type":"array","items":{"properties":{"region_id":{"description":"Viloyat ID","type":"integer","example":1},"region_name":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati"},"total":{"description":"Jami soni","type":"integer","example":45}},"type":"object"}},"by_days_expired":{"description":"O'tgan kunlar bo'yicha taqsimot (4 ta oraliq)","type":"array","items":{"properties":{"range":{"description":"Oraliq nomi","type":"string","example":"10-30 kun"},"days":{"description":"Kunlar oralig'i","type":"string","example":"10-30"},"count":{"description":"Texnikalar soni","type":"integer","example":120}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 filtr parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reglist\/{registration}\/send-notification":{"post":{"tags":["Agroteh Service","Ro'yxatga olish reestr"],"summary":"Eslatma SMS yuborish (yakka)","description":"Ro'yxatdan o'tish muddati tugagan bitta texnika uchun SMS eslatma yuborish. Telefon raqami ko'rsatilmasa, mijozning tizimda saqlangan raqami ishlatiladi. Xabar matni ko'rsatilmasa, standart shablon ishlatiladi (mijoz ismi va transport raqami bilan). SMS navbatga qo'shiladi va asinxron yuboriladi.","operationId":"registrationReglistSendNotification","parameters":[{"name":"registration","in":"path","description":"Ro'yxatga olish ID (vehicle_registrations jadvalidan)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"SMS yuborish parametrlari (barcha ixtiyoriy)","required":false,"content":{"application\/json":{"schema":{"properties":{"phone":{"description":"Telefon raqami (ko'rsatilmasa mijozning tizimda saqlangan raqami ishlatiladi)","type":"string","example":"+998901234567","nullable":true},"text":{"description":"Xabar matni (ko'rsatilmasa standart shablon ishlatiladi)","type":"string","example":"Hurmatli mijoz! Sizning transport vositangiz ro'yxatdan o'tish muddati tugagan.","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"SMS muvaffaqiyatli navbatga qo'shildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"SMS muvaffaqiyatli navbatga qo'shildi"},"data":{"properties":{"message_id":{"description":"Yaratilgan xabar ID","type":"integer","example":1},"phone":{"description":"SMS yuborilgan telefon raqami","type":"string","example":"+998901234567"},"text":{"description":"Yuborilgan xabar matni","type":"string","example":"Hurmatli Karimov Jasur! Sizning 01AB777 transport vositangiz ro'yxatdan o'tish muddati tugagan. Iltimos, qayta ro'yxatdan o'ting."},"status":{"description":"Xabar holati","type":"string","example":"pending"},"status_label":{"description":"Holat nomi (o'zbekcha)","type":"string","example":"Kutilmoqda"},"registration_id":{"description":"Ro'yxatga olish ID","type":"integer","example":1}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha ro'yxatga olish topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 telefon raqami topilmadi yoki noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Telefon raqami topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reglist\/send-bulk":{"post":{"tags":["Agroteh Service","Ro'yxatga olish reestr"],"summary":"Ommaviy SMS yuborish (bir nechta texnika uchun)","description":"Bir nechta ro'yxatdan o'tish muddati tugagan texnikalar uchun SMS eslatma yuborish. Har bir texnikaning mijozi uchun alohida SMS yaratiladi va navbatga qo'shiladi. Telefon raqami topilmagan mijozlar o'tkazib yuboriladi (skipped). Xabar matni ko'rsatilmasa, har bir mijoz uchun shaxsiy shablon ishlatiladi.","operationId":"registrationReglistSendBulk","requestBody":{"description":"Ommaviy SMS yuborish parametrlari","required":true,"content":{"application\/json":{"schema":{"required":["registration_ids"],"properties":{"registration_ids":{"description":"Ro'yxatga olish ID lari massivi","type":"array","items":{"type":"integer"},"example":[1,2,3,4,5]},"text":{"description":"Barcha mijozlar uchun yagona xabar matni (ko'rsatilmasa har biriga shaxsiy shablon ishlatiladi)","type":"string","example":"Hurmatli mijoz! Sizning transport vositangiz ro'yxatdan o'tish muddati tugagan.","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"SMS lar navbatga qo'shildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jami 4 ta SMS navbatga qo'shildi"},"data":{"properties":{"total":{"description":"Jami so'ralgan ID lar soni","type":"integer","example":5},"sent":{"description":"Muvaffaqiyatli navbatga qo'shilganlar","type":"integer","example":4},"skipped":{"description":"O'tkazib yuborilganlar soni","type":"integer","example":1},"skipped_reasons":{"description":"O'tkazib yuborilganlar sabablari","type":"array","items":{"properties":{"registration_id":{"description":"Ro'yxatga olish ID","type":"integer","example":3},"reason":{"description":"O'tkazib yuborish sababi","type":"string","example":"Telefon raqami topilmadi"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 registration_ids majburiy yoki noto'g'ri formatda","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"registration_ids":["Ro'yxatga olish ID lari majburiy"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/registrations\/reglist\/pdf":{"get":{"tags":["Agroteh Service","Ro'yxatga olish reestr"],"summary":"Reestr PDF hisoboti yuklab olish","description":"Ro'yxatdan o'tish muddati tugagan texnikalar bo'yicha PDF hisobot shakllantiriladi va yuklab olinadi. A4 landscape formatda. Maksimal 1000 ta yozuv (default: 500). Hisobotda: ma'lumotnoma raqami, sana, o'tgan kunlar, transport vosita, mijoz, manzil, bildirishnoma holati. Filtrlash: qidiruv, viloyat, tuman, minimum o'tgan kunlar.","operationId":"registrationReglistPdf","parameters":[{"name":"search","in":"query","description":"Qidirish (PINFL, INN, FIO)","required":false,"schema":{"type":"string"}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"days_expired","in":"query","description":"Minimum o'tgan kunlar soni (default: 10)","required":false,"schema":{"type":"integer","example":10,"default":10}},{"name":"limit","in":"query","description":"Maksimal yozuvlar soni (default: 500, max: 1000)","required":false,"schema":{"type":"integer","example":500,"default":500}}],"responses":{"200":{"description":"PDF fayl muvaffaqiyatli shakllantirildi va yuklab olish boshlandi","headers":{"Content-Disposition":{"description":"Fayl nomi","schema":{"type":"string","example":"attachment; filename=reglist_2026-04-07_14-30-00.pdf"}},"Content-Type":{"description":"Fayl turi","schema":{"type":"string","example":"application\/pdf"}}},"content":{"application\/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 filtr parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/dashboard":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Umumiy statistika - bosh sahifa ko'rsatkichlari","description":"Barcha tizim statistikasi: transport vositalar soni (ro'yxatga olingan, olinmagan, bloklangan), mijozlar (jismoniy va yuridik), ro'yxatga olishlar, texnik ko'riklar va to'lovlar (jami summa, to'langan, kutilayotgan). Sana oralig'i bo'yicha filtrlash mumkin.","operationId":"76928d7e4dd388a7ef25fa5fdd011822","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli - umumiy statistika qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DashboardStats"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan - token yuborilmagan yoki yaroqsiz"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/income":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Daromad hisoboti - davr bo'yicha tahlil","description":"Berilgan sana oralig'i uchun daromad statistikasi. Kunlik, haftalik, oylik yoki yillik guruhlash mumkin. Har bir davr uchun to'lovlar soni va jami summasi ko'rsatiladi.","operationId":"660c57909ed3bb6208e0178fe5b1f39a","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}},{"name":"group_by","in":"query","description":"Guruhlash turi: kunlik (day), haftalik (week), oylik (month), yillik (year)","schema":{"type":"string","enum":["day","week","month","year"]}}],"responses":{"200":{"description":"Muvaffaqiyatli - daromad hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/IncomeReport"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - sana oralig'i noto'g'ri kiritilgan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/income-by-service":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Xizmatlar bo'yicha daromad taqsimoti","description":"Daromadni xizmat turlari bo'yicha guruhlangan hisoboti. Har bir xizmat turi (ro'yxatga olish, texnik ko'rik, texnik pasport, davlat raqami, haydovchilik guvohnomasi, imtihon) uchun alohida to'lovlar soni va summasi ko'rsatiladi.","operationId":"a77d0b7c0f523bc2fac94b51abc4a3be","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","required":true,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli - xizmatlar bo'yicha daromad qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total_amount":{"description":"Barcha xizmatlar bo'yicha jami daromad","type":"number"},"data":{"type":"array","items":{"properties":{"invoicable_type":{"description":"Xizmat modeli nomi","type":"string"},"service_name":{"description":"Xizmat nomi (o'zbekcha)","type":"string"},"count":{"description":"To'lovlar soni","type":"integer"},"total_amount":{"description":"Jami summa","type":"number"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/by-region":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Viloyatlar bo'yicha texnikalar hisoboti","description":"Transport vositalarni viloyatlar bo'yicha guruhlangan hisoboti. Har bir viloyat uchun jami, ro'yxatga olingan va ro'yxatga olinmagan texnikalar soni ko'rsatiladi. Sana oralig'i bo'yicha filtrlash ixtiyoriy.","operationId":"4a2bfbdfac28efb90a8d97ac78a7cf86","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli - viloyatlar bo'yicha statistika qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"region_id":{"description":"Viloyat ID raqami","type":"integer"},"total":{"description":"Jami texnikalar soni","type":"integer"},"registered":{"description":"Ro'yxatga olinganlar soni","type":"integer"},"unregistered":{"description":"Ro'yxatga olinmaganlar soni","type":"integer"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/by-vehicle-type":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika turlari bo'yicha hisobot","description":"Transport vositalarni texnika turlari (traktor, kombayn, tirkama va boshqalar) bo'yicha guruhlangan hisoboti. Har bir tur uchun texnikalar soni kamayish tartibida ko'rsatiladi.","operationId":"0d575424563d0363996dbe1a0d5246c8","responses":{"200":{"description":"Muvaffaqiyatli - texnika turlari bo'yicha statistika qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"description":"Texnika turi ID","type":"integer"},"name":{"description":"Texnika turi nomi","type":"string"},"count":{"description":"Texnikalar soni","type":"integer"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/by-brand":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Brendlar bo'yicha hisobot (top 20)","description":"Transport vositalarni brendlar bo'yicha guruhlangan hisoboti. Eng ko'p texnikaga ega bo'lgan 20 ta brend ko'rsatiladi, kamayish tartibida tartiblangan.","operationId":"87d01c6112ca552177047bcef086efad","responses":{"200":{"description":"Muvaffaqiyatli - top 20 brend statistikasi qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"description":"Brend ID","type":"integer"},"name":{"description":"Brend nomi","type":"string"},"count":{"description":"Texnikalar soni","type":"integer"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/by-vehicle-age":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika yosh guruhlari bo'yicha umumiy hisobot","description":"Transport vositalarni yosh guruhlari bo'yicha taqsimlangan hisoboti: 0-3 yil, 4-7 yil, 8-15 yil va 15+ yil. Texnika ishlab chiqarilgan yili (modelyear yoki release_year) asosida hisoblanadi.","operationId":"af3c492d8f6d57de39fefa1d1e58baa1","responses":{"200":{"description":"Muvaffaqiyatli - yosh guruhlari bo'yicha statistika qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"age_group":{"description":"Yosh guruhi nomi","type":"string","example":"0-3 yil"},"count":{"description":"Texnikalar soni","type":"integer"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/exam-stats":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Haydovchilik imtihonlari statistikasi","description":"Haydovchilik imtihonlari bo'yicha batafsil statistika: jami, muvaffaqiyatli, muvaffaqiyatsiz va kutilayotgan imtihonlar soni, o'tish foizi hamda nazariy va amaliy o'rtacha ballar. Sana oralig'i bo'yicha filtrlash ixtiyoriy.","operationId":"5874d0613b62207d0f0c446347226ade","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli - imtihon statistikasi qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ExamStatsReport"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Ma'lumotlarni JSON formatida eksport qilish","description":"Turli xil ma'lumotlarni (texnikalar, mijozlar, ro'yxatga olishlar, ko'riklar, hisob-fakturalar) JSON formatida eksport qilish. Maksimal 10000 ta yozuv qaytariladi. Sana oralig'i bo'yicha filtrlash ixtiyoriy.","operationId":"cb914ba266bd69c499181499a47cce03","parameters":[{"name":"type","in":"query","description":"Eksport qilinadigan ma'lumot turi","required":true,"schema":{"type":"string","enum":["vehicles","customers","registrations","inspections","invoices"]}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (format: YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"format","in":"query","description":"Eksport formati","schema":{"type":"string","enum":["json","csv"]}}],"responses":{"200":{"description":"Muvaffaqiyatli - ma'lumotlar eksport qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"count":{"description":"Qaytarilgan yozuvlar soni","type":"integer"},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi - type parametri noto'g'ri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-republic":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Respublika bo'yicha mavjud texnikalar hisoboti","description":"Butun respublika bo'yicha ro'yxatga olingan texnikalarning batafsil hisoboti. Viloyatlar, ish turlari va brendlar bo'yicha guruhlangan. Har bir viloyat uchun brend va ish turi kesimida texnikalar soni, viloyat jamlari va umumiy respublika jami ko'rsatiladi.","operationId":"cb5560787f6f380a7c8be0747c0ae65f","responses":{"200":{"description":"Muvaffaqiyatli - respublika hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Hisobot sarlavhasi","type":"string"},"report_date":{"description":"Hisobot sanasi (dd.mm.YYYY)","type":"string"},"regions":{"description":"Viloyatlar ro'yxati (id, name)","type":"array","items":{"type":"object"}},"working_types":{"description":"Ish turlari va brendlar ro'yxati","type":"array","items":{"type":"object"}},"report_data":{"description":"Asosiy hisobot ma'lumotlari (viloyat, brend, ish turi, soni)","type":"array","items":{"type":"object"}},"area_totals":{"description":"Har bir viloyat bo'yicha jami","type":"array","items":{"type":"object"}},"grand_total":{"description":"Respublika bo'yicha umumiy jami","type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-republic\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Respublika texnikalar hisobotini Excel formatida yuklab olish","description":"Respublika bo'yicha mavjud texnikalar hisobotini Excel (.xlsx) fayl sifatida yuklab olish. Fayl nomi: respublika_texnikalar_YYYY-MM-DD.xlsx","operationId":"40c3a4fb63012b522295f14de0ff3e22","responses":{"200":{"description":"Excel fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-by-region":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Viloyat bo'yicha mavjud texnikalar hisoboti (tumanlar kesimida)","description":"Tanlangan viloyat ichidagi tumanlar, ish turlari va brendlar bo'yicha ro'yxatga olingan texnikalar hisoboti. Har bir tuman uchun brend va ish turi kesimida texnikalar soni, tuman jamlari va viloyat bo'yicha umumiy jami ko'rsatiladi.","operationId":"1a3a64c57ae7670fae0c512f7aa56db1","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - viloyat hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Hisobot sarlavhasi","type":"string"},"report_date":{"description":"Hisobot sanasi","type":"string"},"region":{"description":"Tanlangan viloyat (id, name)","type":"object"},"areas":{"description":"Tumanlar ro'yxati","type":"array","items":{"type":"object"}},"working_types":{"description":"Ish turlari va brendlar","type":"array","items":{"type":"object"}},"report_data":{"description":"Asosiy hisobot ma'lumotlari","type":"array","items":{"type":"object"}},"area_totals":{"description":"Tuman jamlari","type":"array","items":{"type":"object"}},"grand_total":{"description":"Viloyat bo'yicha umumiy jami","type":"integer"}},"type":"object"}},"type":"object"}}}},"400":{"description":"region_id parametri majburiy"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-by-region\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Viloyat texnikalar hisobotini Excel formatida yuklab olish","description":"Tanlangan viloyat bo'yicha mavjud texnikalar hisobotini Excel (.xlsx) fayl sifatida yuklab olish. Fayl nomi: viloyat_texnikalar_{region_id}_YYYY-MM-DD.xlsx","operationId":"bc6443d70cf3c9b1cfa59eca40198057","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"400":{"description":"region_id parametri majburiy"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/available-regions":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Hisobot uchun mavjud viloyatlar ro'yxati","description":"Hisobot sahifalarida viloyat tanlash uchun mavjud viloyatlar ro'yxatini qaytaradi. Viloyatlar nomi bo'yicha alifbo tartibida tartiblangan.","operationId":"373eb0816a5e4af6141d15e416370d41","responses":{"200":{"description":"Muvaffaqiyatli - viloyatlar ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"description":"Viloyat ID","type":"integer"},"name":{"description":"Viloyat nomi","type":"string"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/exist-by-category":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Kategoriya bo'yicha mavjud texnikalar hisoboti","description":"Tanlangan viloyat va mijoz kategoriyasi (fermer xo'jaliklari, dehqon xo'jaliklari va boshqalar) bo'yicha ro'yxatga olingan texnikalar hisoboti. Tumanlar, texnika turlari, ish turlari va brendlar kesimida batafsil ma'lumot, tuman jamlari va umumiy jami ko'rsatiladi.","operationId":"dfdcac7800a1b4a1ee2b77bc11b824f2","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}},{"name":"category_id","in":"query","description":"Mijoz kategoriyasi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - kategoriya hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Hisobot sarlavhasi","type":"string"},"report_date":{"description":"Hisobot sanasi","type":"string"},"region":{"description":"Tanlangan viloyat","type":"object"},"category":{"description":"Tanlangan kategoriya","type":"object"},"cities":{"description":"Tumanlar ro'yxati","type":"array","items":{"type":"object"}},"vehicle_types":{"description":"Texnika turlari, ish turlari va brendlar bilan","type":"array","items":{"type":"object"}},"city_totals":{"description":"Har bir tuman bo'yicha jami","type":"array","items":{"type":"object"}},"grand_total":{"description":"Umumiy jami texnikalar soni","type":"integer"}},"type":"object"}},"type":"object"}}}},"400":{"description":"Parametrlar majburiy - region_id va category_id kiritilishi shart"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat yoki kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/exist-by-category\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Kategoriya bo'yicha texnikalar hisobotini Excel formatida yuklab olish","description":"Tanlangan viloyat va mijoz kategoriyasi bo'yicha texnikalar hisobotini Excel (.xlsx) fayl sifatida yuklab olish. Fayl nomi: {viloyat}_{kategoriya}_mavjud_texnika_YYYY-MM-DD.xlsx","operationId":"b005fe1d561f1067cafaa99aa6e31cf9","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}},{"name":"category_id","in":"query","description":"Mijoz kategoriyasi ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"400":{"description":"Parametrlar majburiy"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat yoki kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/available-categories":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Hisobot uchun mavjud mijoz kategoriyalari ro'yxati","description":"Hisobot sahifalarida mijoz kategoriyasini tanlash uchun mavjud kategoriyalar ro'yxatini qaytaradi (fermer xo'jaliklari, dehqon xo'jaliklari, davlat korxonalari va boshqalar). Nomi bo'yicha alifbo tartibida tartiblangan.","operationId":"86fcb089ee78dbcc0d41066a08ed1162","responses":{"200":{"description":"Muvaffaqiyatli - kategoriyalar ro'yxati qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"description":"Kategoriya ID","type":"integer"},"name":{"description":"Kategoriya nomi","type":"string"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-category":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika turi va ish turlari bo'yicha mavjud texnikalar hisoboti","description":"Tanlangan viloyat bo'yicha texnika turi (traktor, kombayn va boshqalar) va ish turlari (paxtachilik, g'allachilik va boshqalar) kesimida tumanlar bo'yicha ro'yxatga olingan texnikalar hisoboti. Har bir texnika turi ichida ish turlari va ular bo'yicha tuman sonlari ko'rsatiladi.","operationId":"86f9d6968b11dada295c03586ac40c6c","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - texnika turi hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Hisobot sarlavhasi","type":"string"},"report_date":{"description":"Hisobot sanasi","type":"string"},"region":{"description":"Tanlangan viloyat","type":"object"},"areas":{"description":"Tumanlar ro'yxati","type":"array","items":{"type":"object"}},"vehicle_types":{"description":"Texnika turlari va ish turlari bilan","type":"array","items":{"type":"object"}},"area_totals":{"description":"Tuman jamlari","type":"array","items":{"type":"object"}},"grand_total":{"description":"Umumiy jami","type":"integer"}},"type":"object"}},"type":"object"}}}},"400":{"description":"region_id parametri majburiy"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-types-category\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika turi hisobotini Excel formatida yuklab olish","description":"Tanlangan viloyat bo'yicha texnika turi va ish turlari hisobotini Excel (.xlsx) fayl sifatida yuklab olish. Fayl nomi: {viloyat}_texnika_turlari_YYYY-MM-DD.xlsx","operationId":"db17c640147acedf7e68621e47c298eb","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"400":{"description":"region_id parametri majburiy"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-age":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika yoshi bo'yicha batafsil hisobot (8 ta yosh guruhi)","description":"Texnikalarni 8 ta yosh guruhi bo'yicha (joriy yil, 1-5, 6-10, 11-15, 16-20, 21-25, 26-30, 30+ yil) batafsil hisoboti. Ish turlari va brendlar kesimida ko'rsatiladi. Qamrov: butun respublika, bitta viloyat yoki bitta tuman bo'yicha filtrlash mumkin.","operationId":"2a3feaf9252e388b8fd9811b5fb01ea8","parameters":[{"name":"scope","in":"query","description":"Qamrov: republic (butun respublika), region (bitta viloyat), district (bitta tuman)","required":true,"schema":{"type":"string","enum":["republic","region","district"]}},{"name":"region_id","in":"query","description":"Viloyat ID (scope=region bo'lganda majburiy)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (scope=district bo'lganda majburiy)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli - texnika yoshi hisoboti qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Hisobot sarlavhasi","type":"string"},"report_date":{"description":"Hisobot sanasi","type":"string"},"scope":{"description":"Qamrov turi","type":"string"},"location":{"description":"Joylashuv nomi","type":"string"},"age_groups":{"description":"8 ta yosh guruhi (key, label)","type":"array","items":{"type":"object"}},"working_types":{"description":"Ish turlari va brendlar bilan yosh guruhlari soni","type":"array","items":{"type":"object"}},"totals_by_age":{"description":"Har bir yosh guruhi bo'yicha umumiy jami","type":"object"},"grand_total":{"description":"Barcha texnikalar umumiy jami","type":"integer"}},"type":"object"}},"type":"object"}}}},"400":{"description":"Parametrlar xatosi - scope uchun kerakli ID kiritilmagan"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Viloyat yoki tuman topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reports\/vehicle-age\/export":{"get":{"tags":["Agroteh Service","Hisobotlar"],"summary":"Texnika yoshi hisobotini Excel formatida yuklab olish","description":"Texnika yoshi bo'yicha batafsil hisobotni Excel (.xlsx) fayl sifatida yuklab olish. Fayl nomi: texnika_yoshi_{scope}_YYYY-MM-DD.xlsx","operationId":"385fb9c9be3d944e0f1148b94da88598","parameters":[{"name":"scope","in":"query","description":"Qamrov: republic, region, district","required":true,"schema":{"type":"string","enum":["republic","region","district"]}},{"name":"region_id","in":"query","description":"Viloyat ID (scope=region uchun)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (scope=district uchun)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/service-applications":{"get":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Arizalar ro'yxati","description":"Barcha xizmat arizalarini qidirish, holat va viloyat bo'yicha filtrlash imkoniyati bilan olish","operationId":"ae2391e2ebee0a67b6cb507ba805cc15","parameters":[{"name":"search","in":"query","description":"Qidiruv (sarlavha, tavsif)","schema":{"type":"string"}},{"name":"status_id","in":"query","description":"Holat IDsi","schema":{"type":"integer"}},{"name":"state_id","in":"query","description":"Viloyat IDsi","schema":{"type":"integer"}},{"name":"user_id","in":"query","description":"Foydalanuvchi IDsi","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol holati","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Yangi ariza yaratish","description":"Yangi xizmat arizasini yaratish va RabbitMQ orqali boshqa servislarni xabardor qilish","operationId":"9131d7500aa91f6db3c6b239de22bcd0","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["title","type_id"],"properties":{"title":{"description":"Ariza sarlavhasi","type":"string","example":"Yangi jihoz so'rovi"},"description":{"description":"Ariza tavsifi","type":"string"},"applicant_notes":{"description":"Ariza beruvchi izohlari","type":"string"},"type_id":{"description":"Ariza turi IDsi","type":"integer","example":1},"deadline_date":{"description":"Muddat sanasi","type":"string","format":"date"}},"type":"object"}}}},"responses":{"201":{"description":"Ariza yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/service-applications\/{serviceApplication}":{"get":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Ariza ma'lumotlari","description":"Bitta xizmat arizasi haqida to'liq ma'lumot olish","operationId":"fb6bfd86177d9d2366d6fd80d0221bab","parameters":[{"name":"serviceApplication","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Arizani yangilash","description":"Xizmat arizasini yangilash (faqat \"Yangi\" holatdagi arizalar uchun)","operationId":"6ddf4951bcda225a942bc41d464a20a9","parameters":[{"name":"serviceApplication","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi yoki ariza holati noto'g'ri"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Arizani o'chirish","description":"Xizmat arizasini o'chirish (soft delete)","operationId":"66c05dd626121ddc7966c72abf20deb3","parameters":[{"name":"serviceApplication","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/service-applications\/{id}\/restore":{"post":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Arizani tiklash","description":"O'chirilgan xizmat arizasini qayta tiklash","operationId":"218abf6e2e9b64958ad770ac7be58f8c","parameters":[{"name":"id","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/service-applications\/{serviceApplication}\/files":{"post":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Arizaga fayllar yuklash","description":"Xizmat arizasiga bir nechta fayl biriktirish (S3 ga yuklash)","operationId":"6342635962ed8aa2d6de17269e7adad0","parameters":[{"name":"serviceApplication","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["files"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/service-applications\/{serviceApplication}\/files\/{file}":{"delete":{"tags":["Agroteh Service","Xizmat arizalari"],"summary":"Ariza faylini o'chirish","description":"Xizmat arizasiga biriktirilgan faylni o'chirish (S3 dan ham o'chiriladi)","operationId":"834ab23ec85b776e283b35977332e5fc","parameters":[{"name":"serviceApplication","in":"path","description":"Ariza IDsi","required":true,"schema":{"type":"integer"}},{"name":"file","in":"path","description":"Fayl IDsi","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/dsq\/check-taxpayer":{"post":{"tags":["Agroteh Service","Services"],"summary":"Soliq to'lovchini tekshirish","description":"INN bo'yicha soliq to'lovchi ma'lumotlarini tekshirish","operationId":"fe81ef5d54047b301bd04f36052a421f","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"description":"INN raqami","type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Validatsiya xatosi"},"500":{"description":"Server xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/dsq\/check-debt":{"post":{"tags":["Agroteh Service","Services"],"summary":"Soliq qarzdorligini tekshirish","description":"INN bo'yicha soliq qarzdorligini tekshirish","operationId":"0cb0eeb73cb871ee39d5284558b6db70","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"500":{"description":"Server xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/dsq\/check-individual":{"post":{"tags":["Agroteh Service","Services"],"summary":"Jismoniy shaxsni tekshirish","description":"PINFL bo'yicha jismoniy shaxs ma'lumotlarini tekshirish","operationId":"4744392a9fb64422b16367dafee32d30","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"description":"14 raqamli PINFL","type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"500":{"description":"Server xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/yhxx\/check-vehicle":{"post":{"tags":["Agroteh Service","Services"],"summary":"Transport vositani tekshirish","description":"Davlat raqami bo'yicha transport vositani tekshirish","operationId":"93be8b3679a95717290f1cb299dbf7ed","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["state_number"],"properties":{"state_number":{"type":"string","example":"01A123BC"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"500":{"description":"Server xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/yhxx\/check-driver":{"post":{"tags":["Agroteh Service","Services"],"summary":"Haydovchini tekshirish","description":"PINFL bo'yicha haydovchilik guvohnomasini tekshirish","operationId":"5f1a7511f5fe65884cb0953f1b6c15fc","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/yhxx\/check-fines":{"post":{"tags":["Agroteh Service","Services"],"summary":"Jarimalarni tekshirish","description":"PINFL bo'yicha yo'l harakati jarimalarini tekshirish","operationId":"3b893c555d3d682688ac331ffbe7abcc","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/adliya\/check-person":{"post":{"tags":["Agroteh Service","Services"],"summary":"Jismoniy shaxsni tekshirish","description":"Adliya orqali PINFL bo'yicha jismoniy shaxs ma'lumotlarini tekshirish","operationId":"59518f9643e7bdf541fd0cd077dc7e74","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/adliya\/check-legal":{"post":{"tags":["Agroteh Service","Services"],"summary":"Yuridik shaxsni tekshirish","description":"INN bo'yicha yuridik shaxs ma'lumotlarini tekshirish","operationId":"942e559487bf8c61de749294c988c90e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/adliya\/check-poa":{"post":{"tags":["Agroteh Service","Services"],"summary":"Ishonchnomani tekshirish","description":"Ishonchnoma raqami bo'yicha hujjatni tekshirish","operationId":"42b8ce905fa9ed799c3c7a4744ebecd4","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["poa_number"],"properties":{"poa_number":{"type":"string","example":"POA-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/qxv\/check-farm":{"post":{"tags":["Agroteh Service","Services"],"summary":"Fermer xo'jaligini tekshirish","description":"INN bo'yicha fermer xo'jaligi ma'lumotlarini tekshirish","operationId":"4328a0d8ceb0de522a3764069300ba19","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/qxv\/get-land":{"post":{"tags":["Agroteh Service","Services"],"summary":"Yer uchastkasini tekshirish","description":"Kadastr raqami bo'yicha yer uchastkasi ma'lumotlarini olish","operationId":"6ce233448648cbd62b81ea2942347fa3","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["cadastre_number"],"properties":{"cadastre_number":{"type":"string","example":"10:01:001:0001"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/customs\/check-declaration":{"post":{"tags":["Agroteh Service","Services"],"summary":"Import deklaratsiyasini tekshirish","description":"Deklaratsiya raqami bo'yicha import ma'lumotlarini tekshirish","operationId":"0ffb1981bad9098129b6b21ea58d3bc2","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["declaration_number"],"properties":{"declaration_number":{"type":"string","example":"GTD-2024-0001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/customs\/check-vehicle":{"post":{"tags":["Agroteh Service","Services"],"summary":"Transport importini tekshirish","description":"VIN kod bo'yicha transport vositasi importini tekshirish","operationId":"61b450739462483dce47f471e6fd7e3b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vin"],"properties":{"vin":{"type":"string","example":"XUUWF35E090012345"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/uzauto\/check-vehicle":{"post":{"tags":["Agroteh Service","Services"],"summary":"UzAuto transport tekshiruvi","description":"VIN kod bo'yicha UzAuto ishlab chiqargan transport vositasini tekshirish","operationId":"1b5a0c1d3d26f388c082f6d498c47379","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vin"],"properties":{"vin":{"type":"string","example":"XUUWF35E090012345"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/uzauto\/check-recall":{"post":{"tags":["Agroteh Service","Services"],"summary":"UzAuto recall tekshiruvi","description":"VIN kod bo'yicha transport vositasi uchun recall (chaqiruv) mavjudligini tekshirish","operationId":"26e4e3b9c5f56786f8a3ee064ded9660","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vin"],"properties":{"vin":{"type":"string","example":"XUUWF35E090012345"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/minstroy\/check-permit":{"post":{"tags":["Agroteh Service","Services"],"summary":"Qurilish ruxsatnomasini tekshirish","description":"Ruxsatnoma raqami bo'yicha qurilish ruxsatnomasini tekshirish","operationId":"281f70e5ee475c71cdb7b5871d67aef9","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permit_number"],"properties":{"permit_number":{"type":"string","example":"QR-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/minstroy\/check-contractor":{"post":{"tags":["Agroteh Service","Services"],"summary":"Pudratchi tekshiruvi","description":"INN bo'yicha qurilish pudratchi tashkilotni tekshirish","operationId":"8877724ad6d8e380018b46c9c764aa92","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/agriculture\/check-farm":{"post":{"tags":["Agroteh Service","Services"],"summary":"Fermer xo'jaligini ro'yxatdan tekshirish","description":"INN bo'yicha fermer xo'jaligi ro'yxatdan o'tganligini tekshirish","operationId":"adc8421cb923c5eaff7615bb4c80287c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/agriculture\/get-subsidy":{"post":{"tags":["Agroteh Service","Services"],"summary":"Subsidiya holatini tekshirish","description":"INN bo'yicha fermer subsidiya holati va tarixini olish","operationId":"c40a6cadc06a8e5df80361b55fc8970d","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/auction\/lots":{"get":{"tags":["Agroteh Service","Services"],"summary":"Faol lotlar ro'yxati","description":"E-Auksion faol lotlarini olish","operationId":"507cb6a634195e5d02836f3b2473fc53","parameters":[{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"category","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/auction\/lots\/{lotId}":{"get":{"tags":["Agroteh Service","Services"],"summary":"Lot tafsilotlari","description":"Lot ID bo'yicha batafsil ma'lumotlarni olish","operationId":"855fabc1322ca23849397f32f1f85602","parameters":[{"name":"lotId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/notary\/check-act":{"post":{"tags":["Agroteh Service","Services"],"summary":"Notarial hujjatni tekshirish","description":"Akt raqami bo'yicha notarial hujjatni tekshirish","operationId":"5ad9a31c08f6706688b5d0dbbf02c06a","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["act_number"],"properties":{"act_number":{"type":"string","example":"NOT-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/notary\/check-poa":{"post":{"tags":["Agroteh Service","Services"],"summary":"Ishonchnomani notarial tekshirish","description":"Ishonchnoma raqami bo'yicha notarial tasdiqni tekshirish","operationId":"ce480faf5c2abb020e08dd93823c1486","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["poa_number"],"properties":{"poa_number":{"type":"string","example":"POA-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/dav-aktiv\/check-asset":{"post":{"tags":["Agroteh Service","Services"],"summary":"Davlat aktivini tekshirish","description":"Kadastr raqami bo'yicha davlat aktivini tekshirish","operationId":"f32b18ab7d8782eb8811c6d24cfc00fb","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["cadastre_number"],"properties":{"cadastre_number":{"type":"string","example":"10:01:001:0001"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/hisob-palata\/check-org":{"post":{"tags":["Agroteh Service","Services"],"summary":"Byudjet tashkilotini tekshirish","description":"INN bo'yicha byudjet tashkilotini tekshirish","operationId":"ec0d2e3875c9fc3ecd31071d3e2870cf","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inn"],"properties":{"inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/reyestr\/check-real-estate":{"post":{"tags":["Agroteh Service","Services"],"summary":"Ko'chmas mulkni tekshirish","description":"Kadastr raqami bo'yicha ko'chmas mulk ma'lumotlarini tekshirish","operationId":"73b8f1b79abc42f31ecea187e206e6ce","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["cadastre_number"],"properties":{"cadastre_number":{"type":"string","example":"10:01:001:0001"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/reyestr\/check-vehicle":{"post":{"tags":["Agroteh Service","Services"],"summary":"Transport vositani reyestrdan tekshirish","description":"Davlat raqami bo'yicha transport vositani reyestrdan tekshirish","operationId":"c0002aa23b37d9742f2caa648a259e9b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["state_number"],"properties":{"state_number":{"type":"string","example":"01A123BC"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/treasury\/create-payment":{"post":{"tags":["Agroteh Service","Services"],"summary":"To'lov topshiriqnomasini yaratish","description":"G'aznachilik orqali to'lov topshiriqnomasini yaratish","operationId":"3d1b1f7cac8c72ee2872739b8a4d86ea","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["invoice_id","amount","payer_inn"],"properties":{"invoice_id":{"type":"string","example":"INV-2024-001234"},"amount":{"type":"number","format":"float","example":1500000},"payer_inn":{"type":"string","example":"123456789"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/services\/treasury\/check-payment":{"post":{"tags":["Agroteh Service","Services"],"summary":"To'lov holatini tekshirish","description":"To'lov ID bo'yicha to'lov holatini tekshirish","operationId":"8ee80909ff9e0381f31280ad4bdb40ac","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["payment_id"],"properties":{"payment_id":{"type":"string","example":"PAY-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/statistika":{"get":{"tags":["Agroteh Service","Statistika"],"summary":"Statistika so'rovlari ro'yxati","description":"Statistika qo'mitasidan kelgan barcha so'rovlarni filtrlash va sahifalash bilan ko'rish","operationId":"8895809783e271fd112ffd087d3839d7","parameters":[{"name":"status","in":"query","description":"Holat (-1=xatolik, 0=yangi, 1=jarayonda, 2=yakunlandi)","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv: so'rov mazmuni bo'yicha","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id","enum":["id","status","created_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/StatistikaRequestResource"}},"meta":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/statistika\/statistics":{"get":{"tags":["Agroteh Service","Statistika"],"summary":"Statistika so'rovlari statistikasi","description":"So'rovlar soni holatlar bo'yicha va umumiy statistika","operationId":"dbe91b5e957ab710f9e0e0f78bbe856d","parameters":[{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":250},"by_status":{"properties":{"new":{"type":"integer","example":40},"processing":{"type":"integer","example":20},"completed":{"type":"integer","example":180},"error":{"type":"integer","example":10}},"type":"object"},"today":{"type":"integer","example":8}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/statistika\/{id}":{"get":{"tags":["Agroteh Service","Statistika"],"summary":"Statistika so'rovi ma'lumotlari","description":"Bitta Statistika so'rovining to'liq ma'lumotlarini ko'rish","operationId":"1dc651120e2e2d03b92b97b1eb87f9d7","parameters":[{"name":"id","in":"path","description":"So'rov ID si","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/StatistikaRequestResource"}},"type":"object"}}}},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/statistika\/webhook":{"post":{"tags":["Agroteh Service","Statistika"],"summary":"Statistika qo'mitasidan so'rov qabul qilish (webhook)","description":"Statistika qo'mitasi agroteh texnikalariga oid so'rov yuboradi. Tizim STIR\/PINFL bo'yicha texnikalar ma'lumotlarini qaytaradi. webhook.secret middleware bilan himoyalangan.","operationId":"d2dfafa5d57d4c5b4a732747ee1eba86","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tin":{"description":"Tashkilot STIR","type":"string","example":"123456789","nullable":true},"pinfl":{"description":"Jismoniy shaxs PINFL","type":"string","example":"12345678901234","nullable":true},"date_from":{"description":"Ma'lumot olish boshlanish sanasi","type":"string","example":"2024-01-01","nullable":true},"date_to":{"description":"Ma'lumot olish tugash sanasi","type":"string","example":"2024-12-31","nullable":true},"request_id":{"description":"Statistika qo'mitasi so'rov ID si","type":"string","example":"STAT-2024-001","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli \u2014 texnika ma'lumotlari qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"request_id":{"type":"string","example":"STAT-2024-001"},"vehicles":{"type":"array","items":{"type":"object"}},"total":{"type":"integer","example":5}},"type":"object"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 STIR yoki PINFL majburiy"}}}},"\/api\/v1\/subsidiya":{"get":{"tags":["Agroteh Service","Subsidiya integratsiyasi"],"summary":"Subsidiya so'rovlar jurnali","description":"Subsidiya tizimidan kelgan barcha kiruvchi so'rovlar ro'yxati. Filtr: holat, so'rov turi, sana oralig'i.","operationId":"26e4641eddb778f0173b9c140c52e2f9","parameters":[{"name":"status","in":"query","description":"Holat: -1=xatolik, 0=yangi, 1=qayta ishlandi","schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"So'rov turi: 1=texnika ma'lumoti, 2=guvohnoma ma'lumoti","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/subsidiya\/statistics":{"get":{"tags":["Agroteh Service","Subsidiya integratsiyasi"],"summary":"Subsidiya so'rovlar statistikasi","description":"Subsidiya integratsiyasi bo'yicha statistika: jami, holat bo'yicha, so'rov turi bo'yicha, bugungi.","operationId":"0108a1d77c81130f8e1427df0b46e0b0","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/subsidiya\/{subsidiyaRequest}":{"get":{"tags":["Agroteh Service","Subsidiya integratsiyasi"],"summary":"Subsidiya so'rov tafsilotlari","description":"Bitta subsidiya so'rovi to'liq ma'lumotlari.","operationId":"2ee1f65a99bd741e1844e82b7280d724","parameters":[{"name":"subsidiyaRequest","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/subsidiya\/vehicle-info":{"post":{"tags":["Agroteh Service","Subsidiya integratsiyasi"],"summary":"Subsidiya \u2014 texnika ma'lumotlari (webhook)","description":"Subsidiya tizimi INN\/STIR yoki guvohnoma raqami yuboradi. Biz texnika va egasi ma'lumotlarini qaytaramiz \u2014 subsidiya tayinlash uchun asosiy tekshiruv. So'rov jurnalga yoziladi.","operationId":"2c641e0d238b8c312132440a1f9e3501","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tin":{"description":"Tashkilot\/shaxs INN\/STIR (tin yoki certificate_number majburiy)","type":"string","example":"123456789012"},"certificate_number":{"description":"Texnika guvohnomasi raqami (tin yoki certificate_number majburiy)","type":"string","example":"AB 123456"}},"type":"object"}}}},"responses":{"200":{"description":"Texnika ma'lumotlari"},"422":{"description":"Validatsiya xatosi \u2014 tin yoki certificate_number majburiy"}}}},"\/api\/v1\/subsidiya\/licence-info":{"post":{"tags":["Agroteh Service","Subsidiya integratsiyasi"],"summary":"Subsidiya \u2014 haydovchilik guvohnomasi (webhook)","description":"Subsidiya tizimi JSHSHIR yuboradi. Biz haydovchilik guvohnomasini qaytaramiz \u2014 subsidiya tayinlashda haydovchi malakasini tekshirish uchun. So'rov jurnalga yoziladi.","operationId":"3fdfa13d04807d5cab1ef35b9b9947ae","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["pinfl"],"properties":{"pinfl":{"description":"Jismoniy shaxsning JSHSHIR (14 ta raqam)","type":"string","example":"12345678901234"}},"type":"object"}}}},"responses":{"200":{"description":"Haydovchilik guvohnomasi ma'lumotlari"},"422":{"description":"Validatsiya xatosi"}}}},"\/api\/v1\/suppliers":{"get":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"Yetkazib beruvchilar ro'yxati","operationId":"f83117376e14a7f74ad31fc9f7312fb6","parameters":[{"name":"search","in":"query","schema":{"type":"string"}},{"name":"is_active","in":"query","schema":{"type":"boolean"}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"Yangi yetkazib beruvchi yaratish","description":"uzagroteh-main: supplier\/add.blade.php - faqat name","operationId":"a4657ad682bbe07aee1bb6018a080736","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string","example":"Uzagrotexservis"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/suppliers\/{supplier}":{"get":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"Yetkazib beruvchi ma'lumotlari","operationId":"2e510fed3048b06303fcd1a8c34b40e3","parameters":[{"name":"supplier","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"Yetkazib beruvchini yangilash","operationId":"564838b3fde6653ff177e8acee01d4e9","parameters":[{"name":"supplier","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Uzagrotexservis"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"Yetkazib beruvchini o'chirish","operationId":"d971ec860f46a8479dac5b045f97f0f2","parameters":[{"name":"supplier","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/suppliers\/pdf\/info":{"get":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"PDF fayl ma'lumotlari","description":"uzagroteh-main: supplier\/pdf\/view - PDF fayl mavjudligi haqida","operationId":"fb014412e9804a29242987ff6a60435e","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/suppliers\/pdf\/upload":{"post":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"PDF fayl yuklash","description":"uzagroteh-main: supplier\/pdf\/store - PDF faylni saqlash","operationId":"de65fa06ab7f03ffa6689819377c33e5","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"PDF fayl (max 8MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/suppliers\/pdf\/download":{"get":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"PDF faylni yuklab olish","description":"uzagroteh-main: supplier\/pdf\/show - PDF faylni ko'rsatish","operationId":"60232b0ca08a6112c584bb110f4b3368","responses":{"200":{"description":"PDF fayl"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/suppliers\/pdf\/delete":{"delete":{"tags":["Agroteh Service","Yetkazib beruvchilar"],"summary":"PDF faylni o'chirish","operationId":"9bf18fab1f53d83df935e4ce713941d4","responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasportlar ro'yxati","description":"Texnik pasportlar ro'yxati filtrlar bilan. Default 50 ta per page, given_date bo'yicha kamayish tartibida.\n\n**Qidiruv (search\/s):** passport_id (seriya+raqam), mijoz ismi\/familiyasi, PINFL (14 raqam), INN (9 raqam), dvigatel\/shassi raqami, transport davlat raqami bo'yicha izlaydi.\n\n**Sana filtrlari:** `from`\/`till` yoki `date_from`\/`date_to` juftligi ishlatiladi (given_date bo'yicha).\n\n**Eager loading:** vehicle (brand, type), customer (area, region), document, user.","operationId":"042675fe29cd96c346e26876b3966a51","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default: 50)","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidirish: passport_id, mijoz ismi, PINFL, INN, dvigatel\/shassi raqami, davlat raqami","schema":{"type":"string"}},{"name":"s","in":"query","description":"search ning aliasi","schema":{"type":"string"}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Holat bo'yicha filtrlash","schema":{"type":"string","enum":["active","inactive"]}},{"name":"action","in":"query","description":"Amal turi bo'yicha filtrlash","schema":{"type":"string","enum":["give","recover"]}},{"name":"series","in":"query","description":"Seriya bo'yicha aniq filtrlash (masalan: UZ-AA)","schema":{"type":"string"}},{"name":"number","in":"query","description":"Raqam bo'yicha qidirish (ILIKE, qisman mos)","schema":{"type":"string"}},{"name":"from","in":"query","description":"Berilgan sana boshlanishi (Y-m-d). date_from ning aliasi.","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Berilgan sana tugashi (Y-m-d). date_to ning aliasi.","schema":{"type":"string","format":"date"}},{"name":"date_from","in":"query","description":"Berilgan sana boshlanishi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Berilgan sana tugashi (Y-m-d)","schema":{"type":"string","format":"date"}},{"name":"expired","in":"query","description":"true \u2014 faqat muddati o'tganlar (expire_date < bugun)","schema":{"type":"boolean"}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz area.state_id orqali)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik pasportlar ro'yxati muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"meta":{"properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":237}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasport berish yoki qayta tiklash","description":"Transport vositaga yangi texnik pasport berish yoki qayta tiklash.\n\n**Biznes qoidalar:**\n1. `action=give` \u2014 yangi pasport berish. Agar texnikada faol pasport bo'lsa, xatolik qaytaradi (avval bekor qiling yoki recover tanlang).\n2. `action=recover` \u2014 qayta tiklash. Avvalgi faol pasportlar avtomatik `inactive` bo'ladi.\n3. **Bepul xizmat hujjati** (documents.free_service=true, masalan: \"Mavjud tex pasportni yangi ko'rinishga o'tkazish\"): `give` action bo'lsa ham eski pasportlar avtomatik deaktivatsiya qilinadi.\n4. **Bepul xizmat** (documents.free_service=true): series\/number qo'lda kiritiladi, payment_status='free', paid_amount=0.\n5. **Pullik xizmat**: series='UZ-AA', number avtomatik generatsiya (PostgreSQL SEQUENCE), 8682-8684 raqamlar o'tkazib yuboriladi.\n\n**Cascade:** action=recover yoki unfit hujjatda \u2014 texnikaning barcha faol pasportlari inactive bo'ladi.\n\n**Avtomatik o'rnatiladi:** status='active', user_id=auth user, payment_date=bugun, passport_id=series+' '+number.","operationId":"cf6081d6f716b0853b27056f51c7dac0","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id","owner_id","action","given_date","doc"],"properties":{"vehicle_id":{"description":"Transport vosita ID (tbl_vehicles). Texnika owner_id ga tegishli bo'lishi kerak.","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID (customers). Faol mijoz bo'lishi kerak.","type":"integer","example":1},"action":{"description":"give \u2014 yangi berish (faol pasport bo'lmasligi kerak). recover \u2014 qayta tiklash (eski pasportlar deaktivatsiya qilinadi, recover_reason majburiy).","type":"string","example":"give","enum":["give","recover"]},"given_date":{"description":"Pasport berilgan sana (Y-m-d format).","type":"string","format":"date","example":"2026-02-26"},"doc":{"description":"Asos hujjat ID (documents jadvali, service=technical-passport). Hujjatning free_service va unfit xususiyatlari maxsus logikani ishga tushiradi.","type":"integer","example":1},"series":{"description":"Seriya. Pullik xizmatda avtomatik UZ-AA, bepul xizmatda qo'lda kiritiladi. Regex: \/^[A-Z\\-]{2,10}$\/","type":"string","example":"UZ-AA","nullable":true},"number":{"description":"Raqam. Pullik xizmatda avtomatik (SEQUENCE), bepul xizmatda qo'lda. Regex: \/^\\d{1,6}$\/","type":"string","example":"008685","nullable":true},"expire_date":{"description":"Amal qilish muddati. given_date dan keyin bo'lishi kerak.","type":"string","format":"date","example":"2036-02-26","nullable":true},"doc_note":{"description":"Asos hujjat izohi (max 255 belgi).","type":"string","example":"Oldi-sotdi shartnomasi \u2116123","nullable":true},"note":{"description":"Alohida belgilar (max 500 belgi).","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"total_amount":{"description":"Xizmat narxi so'mda (min: 0). Bepul xizmatda 0 yoki ko'rsatilmaydi.","type":"number","example":150000,"nullable":true},"recover_reason":{"description":"Qayta tiklash sababi. action=recover bo'lganda MAJBURIY (max 500 belgi).","type":"string","example":"Yaroqsiz holga kelgan pasport o'rniga","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Texnik pasport muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik pasport muvaffaqiyatli berildi"},"data":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"type":"object"}}}},"400":{"description":"Biznes logika xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"},"examples":{"active_exists":{"summary":"Faol pasport mavjud (action=give)","value":{"success":false,"message":"Transport vositada faol texnik pasport mavjud. Avval uni bekor qiling yoki qayta berish (recover) amali tanlang."}},"inactive_customer":{"summary":"Mijoz faol emas","value":{"success":false,"message":"Mijoz faol emas yoki topilmadi"}},"vehicle_not_found":{"summary":"Texnika topilmadi","value":{"success":false,"message":"Transport vosita topilmadi"}},"wrong_owner":{"summary":"Texnika boshqa mijozniki","value":{"success":false,"message":"Transport vosita bu mijozga tegishli emas"}}}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/statistics":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasportlar statistikasi","description":"Texnik pasportlar bo'yicha umumiy statistika: jami, faol, nofaol, muddati o'tgan, amal turi bo'yicha taqsimot, xizmat narxlari va to'lov summalari, bugungi va oylik ko'rsatkichlar. Sana va lokatsiya filtrlari qo'llanadi.","operationId":"b57eb8142b887401979df29cd1eaeafa","parameters":[{"name":"from","in":"query","description":"Berilgan sana boshlanishi (Y-m-d). date_from aliasi.","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Berilgan sana tugashi (Y-m-d). date_to aliasi.","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz area.state_id orqali)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"description":"Jami pasportlar soni","type":"integer","example":237},"active":{"description":"Faol pasportlar","type":"integer","example":200},"inactive":{"description":"Bekor qilingan pasportlar","type":"integer","example":37},"expired":{"description":"Muddati o'tgan pasportlar","type":"integer","example":5},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar","type":"integer","example":180},"recover":{"description":"Qayta tiklanganlar","type":"integer","example":57}},"type":"object"},"total_amount":{"description":"Jami xizmat narxi (so'm)","type":"number","example":35550000},"paid_amount":{"description":"Jami to'langan (so'm)","type":"number","example":35550000},"today_issued":{"description":"Bugun berilganlar soni","type":"integer","example":3},"this_month":{"description":"Shu oy berilganlar soni","type":"integer","example":45}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/find":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasport raqami bo'yicha qidirish","description":"Texnik pasportni raqam bo'yicha topish. Ikki usulda qidirish mumkin:\n1. `passport_id` \u2014 to'liq raqam bo'yicha (ILIKE qidirish, masalan: \"UZ-AA 008685\")\n2. `series` + `number` \u2014 alohida maydonlar bo'yicha (aniq mos kelish)\n\nDefault faqat faol (active) pasportlarni qaytaradi. `active_only=false` bilan barchasini ko'rish mumkin.","operationId":"01b7d57572a0c46b5c20b1154b77a8c8","parameters":[{"name":"series","in":"query","description":"Seriya (aniq mos kelish, masalan: UZ-AA)","schema":{"type":"string","example":"UZ-AA"}},{"name":"number","in":"query","description":"Raqam (aniq mos kelish, masalan: 008685)","schema":{"type":"string","example":"008685"}},{"name":"passport_id","in":"query","description":"To'liq pasport raqami (ILIKE qidirish, masalan: UZ-AA 008685)","schema":{"type":"string","example":"UZ-AA 008685"}},{"name":"active_only","in":"query","description":"true (default) \u2014 faqat faollar, false \u2014 barchasi","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"Texnik pasport topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik pasport topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik pasport topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/{technicalPassport}":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasport ma'lumotlari","description":"Bitta texnik pasport haqida to'liq ma'lumot. Bog'liq ma'lumotlar: transport vosita (brend, tur), mijoz (hudud, viloyat), asos hujjat, yaratgan foydalanuvchi.","operationId":"a9e3166831d5cca0c7c6584d09ce1602","parameters":[{"name":"technicalPassport","in":"path","description":"Texnik pasport ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik pasport ma'lumotlari muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik pasport topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik pasport topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasportni yangilash","description":"Mavjud texnik pasport ma'lumotlarini yangilash. Faqat ko'rsatilgan maydonlar yangilanadi.\n\n**Eslatma:** vehicle_id, owner_id, action, status maydonlari o'zgartirilmaydi.\nSeries yoki number o'zgartirilsa, passport_id avtomatik qayta hisoblanadi.","operationId":"a74a43db26c07ea2c6f2fc4158b86fcd","parameters":[{"name":"technicalPassport","in":"path","description":"Texnik pasport ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"series":{"description":"Seriya. Regex: \/^[A-Z\\-]{2,10}$\/","type":"string","example":"UZ-AA"},"number":{"description":"Raqam. Regex: \/^\\d{1,6}$\/","type":"string","example":"008685"},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-26"},"expire_date":{"description":"Amal qilish muddati (given_date dan keyin)","type":"string","format":"date","example":"2036-02-26","nullable":true},"doc":{"description":"Asos hujjat ID (documents jadvali)","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi (max 255)","type":"string","example":"Oldi-sotdi shartnomasi \u2116123","nullable":true},"note":{"description":"Alohida belgilar (max 500)","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"total_amount":{"description":"Xizmat narxi so'mda (min: 0)","type":"number","example":150000,"nullable":true},"paid_amount":{"description":"To'langan summa so'mda (min: 0)","type":"number","example":150000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","example":"paid","nullable":true,"enum":["pending","paid","partial"]}},"type":"object"}}}},"responses":{"200":{"description":"Texnik pasport muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik pasport yangilandi"},"data":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik pasport topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik pasport topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/{technicalPassport}\/cancel":{"post":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnik pasportni bekor qilish","description":"Texnik pasportni bekor qilish (status \u2192 inactive).\n\n**Cascade:** Pasport bekor qilinganda bog'liq hujjatlar ham avtomatik deaktivatsiya qilinadi:\n- Shu texnika va egasiga tegishli faol **transport raqamlari** \u2192 inactive\n- Shu texnika va egasiga tegishli faol **texnik guvohnomalar** \u2192 inactive\n\n**Cheklovlar:** Faqat `active` holatdagi pasportni bekor qilish mumkin.","operationId":"b968c4890a62c04e905ddfa56425173f","parameters":[{"name":"technicalPassport","in":"path","description":"Texnik pasport ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Bekor qilish sababi (max 500 belgi). note maydoniga yoziladi.","type":"string","example":"Xatolik aniqlandi","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Texnik pasport muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik pasport bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"type":"object"}}}},"400":{"description":"Allaqachon bekor qilingan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu texnik pasport allaqachon bekor qilingan"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik pasport topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik pasport topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/vehicle\/{vehicle}\/history":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnika pasportlar tarixi","description":"Transport vositasining barcha texnik pasportlari tarixi: faol\/nofaol\/muddati o'tgan pasportlar, statistika bilan. given_date bo'yicha kamayish tartibida. Bog'liq ma'lumotlar: mijoz, hujjat, foydalanuvchi.","operationId":"fb1827d175d8889f46e99c1fafc4c522","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnika pasportlar tarixi muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"vehicle":{"properties":{"id":{"type":"integer"},"engineno":{"type":"string","nullable":true},"chassisno":{"type":"string","nullable":true},"made_year":{"type":"string","nullable":true},"brand":{"type":"object","nullable":true}},"type":"object"},"passports":{"type":"array","items":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"active_passport":{"oneOf":[{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}],"nullable":true,"description":"Hozirgi faol pasport (bo'lmasa null)"},"statistics":{"properties":{"total":{"type":"integer"},"active":{"type":"integer"},"inactive":{"type":"integer"},"expired":{"type":"integer"},"by_action":{"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Transport vosita topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Mijoz texnik pasportlari tarixi","description":"Mijozning barcha texnik pasportlari tarixi: texnikalar bilan birga, statistika bilan. given_date bo'yicha kamayish tartibida. Bog'liq ma'lumotlar: transport vosita (brend), hujjat, foydalanuvchi.","operationId":"717a2b702082472c6352930f02972d3c","parameters":[{"name":"customerId","in":"path","description":"Mijoz (customer) ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Mijoz texnik pasportlari tarixi muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"properties":{"id":{"type":"integer"},"name":{"description":"To'liq ism","type":"string"},"pinfl":{"type":"string","nullable":true},"inn":{"type":"string","nullable":true},"region":{"type":"string","nullable":true},"district":{"type":"string","nullable":true}},"type":"object"},"passports":{"type":"array","items":{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}},"statistics":{"properties":{"total":{"type":"integer"},"active":{"type":"integer"},"inactive":{"type":"integer"},"expired":{"type":"integer"},"by_action":{"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-passports\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Texnik pasportlar"],"summary":"Texnikaga pasport berish mumkinmi tekshirish","description":"Transport vositada faol texnik pasport bormi tekshirish. Agar faol pasport bo'lsa, uni qaytaradi.\n\n**can_create=true** \u2014 yangi pasport berish mumkin (action=give).\n**can_create=false** \u2014 faol pasport mavjud. Faqat qayta tiklash (action=recover) yoki avval bekor qilish kerak.","operationId":"a086feb709bb815fc51476dc578831a2","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tekshirish muvaffaqiyatli o'tkazildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"can_create":{"description":"true \u2014 yangi pasport berish mumkin, false \u2014 faol pasport mavjud","type":"boolean","example":true},"active_passport":{"oneOf":[{"$ref":"#\/components\/schemas\/TechnicalPassportResource"}],"nullable":true,"description":"Faol pasport (bo'lmasa null)"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users":{"get":{"tags":["Agroteh Service","Telegram"],"summary":"Telegram foydalanuvchilar ro'yxati","operationId":"955442ae86db3a00a0d803bd489815ab","parameters":[{"name":"search","in":"query","schema":{"type":"string"}},{"name":"is_active","in":"query","schema":{"type":"boolean"}},{"name":"is_verified","in":"query","schema":{"type":"boolean"}},{"name":"has_customer","in":"query","schema":{"type":"boolean"}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/statistics":{"get":{"tags":["Agroteh Service","Telegram"],"summary":"Telegram foydalanuvchilar statistikasi","operationId":"bb75a850adbc5f37e3a8bd9d6744fac0","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}":{"get":{"tags":["Agroteh Service","Telegram"],"summary":"Telegram foydalanuvchi ma'lumotlari","operationId":"35c7be743ca788d0e9f9761b877d1bb3","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/messages":{"get":{"tags":["Agroteh Service","Telegram"],"summary":"Foydalanuvchi xabarlari","operationId":"ed373f6ea4c715270a4da28f92f03de1","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}},{"name":"direction","in":"query","schema":{"type":"string","enum":["incoming","outgoing"]}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","default":50}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/send":{"post":{"tags":["Agroteh Service","Telegram"],"summary":"Foydalanuvchiga xabar yuborish","operationId":"06e24d43f74d7b4fb2386ea70fff9846","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["message"],"properties":{"message":{"type":"string","example":"Assalomu alaykum! Sizning arizangiz qabul qilindi."},"parse_mode":{"type":"string","example":"HTML","enum":["HTML","Markdown"]}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/broadcast":{"post":{"tags":["Agroteh Service","Telegram"],"summary":"Ommaviy xabar yuborish","operationId":"29705d3692295622658df135b53d9b35","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["message"],"properties":{"message":{"type":"string","example":"Hurmatli foydalanuvchilar! Tizimda yangilanish amalga oshirildi."},"parse_mode":{"type":"string","example":"HTML","enum":["HTML","Markdown"]},"only_verified":{"type":"boolean","example":false,"default":false},"only_with_notifications":{"type":"boolean","example":true,"default":true}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/block":{"patch":{"tags":["Agroteh Service","Telegram"],"summary":"Foydalanuvchini bloklash","operationId":"dc61c0b8d9376e93e1ed03f299f92cff","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/unblock":{"patch":{"tags":["Agroteh Service","Telegram"],"summary":"Foydalanuvchi blokini olib tashlash","operationId":"2eef95efdbcd993dca02785b2625066e","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/link-customer":{"post":{"tags":["Agroteh Service","Telegram"],"summary":"Mijozga bog'lash","operationId":"c6b33bdddc753fef91451b74119f62a3","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["customer_id"],"properties":{"customer_id":{"type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}\/unlink-customer":{"delete":{"tags":["Agroteh Service","Telegram"],"summary":"Mijozdan ajratish","operationId":"103b35668b55146ae1f39ebd9c2ab347","parameters":[{"name":"telegramUser","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/webhook":{"post":{"tags":["Agroteh Service","Telegram"],"summary":"Telegram webhook (botdan kelgan xabarlar)","operationId":"dd9bdb620c9af1a7fe338ece7bcb5310","responses":{"200":{"description":"Qabul qilindi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/bot-info":{"get":{"tags":["Agroteh Service","Telegram"],"summary":"Bot ma'lumotlari","operationId":"b5a5bcb541a4eb0e1c6dc2b952822226","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/set-webhook":{"post":{"tags":["Agroteh Service","Telegram"],"summary":"Webhook o'rnatish","operationId":"2465651ba79fafff09f7a62c105f06ca","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["url"],"properties":{"url":{"type":"string","format":"uri","example":"https:\/\/example.com\/api\/v1\/telegram\/webhook"}},"type":"object"}}}},"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ma'lumotnomalar ro'yxati","description":"Barcha TM-1 ma'lumotnomalar ro'yxatini filtrlash imkoniyati bilan olish","operationId":"2b6bce2752e29db04b6dfbac579c8cec","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidiruv (PINFL, INN, FIO, TM-1 raqami, transport raqami)","schema":{"type":"string"}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID","schema":{"type":"integer"}},{"name":"number","in":"query","description":"TM-1 raqami","schema":{"type":"integer"}},{"name":"from","in":"query","description":"Boshlanish sanasi (date_from alias)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (date_to alias)","schema":{"type":"string","format":"date"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"active_only","in":"query","description":"Faqat faol (10 kun ichida va ishlatilmagan)","schema":{"type":"boolean"}},{"name":"not_used","in":"query","description":"Faqat foydalanilmaganlar","schema":{"type":"boolean"}},{"name":"used","in":"query","description":"Faqat foydalanilganlar","schema":{"type":"boolean"}},{"name":"expired","in":"query","description":"Muddati o'tganlar","schema":{"type":"boolean"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ma'lumotnoma berish","description":"Transport vositaga yangi TM-1 ma'lumotnoma berish. uzagroteh-main vehicle\/tm-formsubmit bilan bir xil","operationId":"a7240fe04ebe6854c20c11e0b8bca127","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id","owner_id"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"payment":{"description":"Invoice ID (payment column)","type":"integer","example":1,"nullable":true},"date":{"description":"Berilgan sana (default: bugun)","type":"string","format":"date","example":"2024-01-15","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"TM-1 berildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"TM-1 ma'lumotnoma muvaffaqiyatli berildi"},"data":{"$ref":"#\/components\/schemas\/TmResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"400":{"description":"Transport vosita qulflangan yoki taqiqlangan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/statistics":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 statistikasi","description":"TM-1 ma'lumotnomalar statistikasi","operationId":"a3c13df8c50f74eea6f32e7a9e5a4792","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi (date_from alias)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (date_to alias)","schema":{"type":"string","format":"date"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"total":{"type":"integer"},"active":{"type":"integer"},"used":{"type":"integer"},"expired":{"type":"integer"},"cancelled":{"type":"integer"},"by_used_type":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/{tm}":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ma'lumotlari","description":"Bitta TM-1 haqida to'liq ma'lumot","operationId":"cdaacab73e946fd3d2055fca2bf38334","parameters":[{"name":"tm","in":"path","description":"TM-1 ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TmResource"}},"type":"object"}}}},"404":{"description":"TM-1 topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/find\/{number}":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ni raqami bo'yicha topish","description":"TM-1 ni uning raqami bo'yicha qidirish","operationId":"8f036863d45172af2bb994ac3ae5029a","parameters":[{"name":"number","in":"path","description":"TM-1 raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TmResource"}},"type":"object"}}}},"404":{"description":"TM-1 topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/{tm}\/mark-used":{"post":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ni ishlatilgan deb belgilash","description":"TM-1 ni notarius yoki boshqa maqsadlarda ishlatilgan deb belgilash. uzagroteh-main TmService@markAsUsed bilan bir xil","operationId":"605a35687672fae2efe0fdbdfd3a59fe","parameters":[{"name":"tm","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"required":["used_for","used_type"],"properties":{"used_for":{"description":"Bog'liq yozuv ID (masalan, notary_request_id)","type":"integer","example":1},"used_type":{"description":"0 - Umumiy, 1 - Notarius","type":"integer","example":1,"enum":[0,1]}},"type":"object"}}}},"responses":{"200":{"description":"TM-1 ishlatilgan deb belgilandi"},"400":{"description":"TM-1 allaqachon ishlatilgan yoki muddati o'tgan"},"404":{"description":"TM-1 topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/{tm}\/cancel":{"post":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"TM-1 ni bekor qilish","description":"TM-1 ma'lumotnomani bekor qilish","operationId":"48eabdb2433e684dffacc3f9a9cdee08","parameters":[{"name":"tm","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"TM-1 bekor qilindi"},"400":{"description":"TM-1 allaqachon ishlatilgan yoki bekor qilingan"},"404":{"description":"TM-1 topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"Transport vositaning TM-1 holatini tekshirish","description":"Transport vositaning hozirgi TM-1 holati haqida ma'lumot","operationId":"6d4da5b90c261d3c6d371af31f759b9f","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"has_active_tm1":{"description":"Faol TM-1 mavjud","type":"boolean"},"can_issue_tm1":{"description":"TM-1 berish mumkin","type":"boolean"},"active_tm1":{"type":"object","nullable":true},"total_tm1_count":{"type":"integer"},"active_count":{"type":"integer"},"used_count":{"type":"integer"}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/vehicle\/{vehicle}\/history":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"Transport vositasining TM-1 tarixi","description":"Transport vositasining barcha TM-1 ma'lumotnomalar tarixi","operationId":"5b58b6f26eb8241a0ef4c75367b3b788","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmResource"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/customer\/{customer}\/history":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"Mijozning TM-1 tarixi","description":"Mijozning barcha TM-1 ma'lumotnomalar tarixi va statistikasi","operationId":"5f8ceb002708705cc7fee641f27c0451","parameters":[{"name":"customer","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"statistics":{"type":"object"},"tms":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmResource"}}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/active":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"Faol TM-1 lar","description":"Hali ishlatilmagan va muddati o'tmagan TM-1 lar ro'yxati","operationId":"e0d6283265cee8a06c44de64fa358046","parameters":[{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"vehicle_id","in":"query","schema":{"type":"integer"}},{"name":"owner_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tms\/expiring":{"get":{"tags":["Agroteh Service","Traktor-mashinist guvohnomalari"],"summary":"Muddati tugayotgan TM-1 lar","description":"Yaqin kunlarda muddati tugaydigan TM-1 lar (7 kun qolgan)","operationId":"e30ff6fc6127d09fa2a016acf2ec16c6","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqamlari ro'yxati","description":"Barcha davlat raqamlari ro'yxatini filtrlash imkoniyati bilan olish. Qidiruv imkoniyatlari: raqam (code+series+number), mijoz ismi\/familiyasi, PINFL, INN, dvigatel raqami, shassi raqami bo'yicha. Sana, viloyat, tuman, holat, tur va amal turi bo'yicha filtrlash mumkin.","operationId":"transportNumberIndex","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default: 50, max: 100, -1 = hammasi)","required":false,"schema":{"type":"integer","example":50,"default":50}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","example":1,"default":1}},{"name":"search","in":"query","description":"Umumiy qidirish: raqam, mijoz ismi, PINFL, INN, dvigatel\/shassi raqami","required":false,"schema":{"type":"string","example":"AB 777"}},{"name":"s","in":"query","description":"Qidirish (search aliasi, legacy moslik uchun)","required":false,"schema":{"type":"string"}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID bo'yicha filtr","required":false,"schema":{"type":"integer","example":1}},{"name":"status","in":"query","description":"Holat bo'yicha filtr","required":false,"schema":{"type":"string","enum":["active","inactive","cancelled"]}},{"name":"type","in":"query","description":"Raqam turi: 1=yuridik o'ziyurar, 2=jismoniy o'ziyurar, 3=yuridik tirkama, 4=jismoniy tirkama","required":false,"schema":{"type":"string","enum":["1","2","3","4"]}},{"name":"action","in":"query","description":"Amal turi: give=yangi berish, recover=qayta berish","required":false,"schema":{"type":"string","enum":["give","recover"]}},{"name":"code","in":"query","description":"Viloyat kodi bo'yicha filtr (masalan: 01)","required":false,"schema":{"type":"string","example":"01"}},{"name":"series","in":"query","description":"Seriya bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"AB"}},{"name":"number","in":"query","description":"Raqam bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"777"}},{"name":"from","in":"query","description":"Berilgan sana boshlanishi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-01-01"}},{"name":"till","in":"query","description":"Berilgan sana tugashi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-12-31"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (from aliasi)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (till aliasi)","required":false,"schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID (tbl_states jadvalidan)","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali filtrlanadi)","required":false,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Davlat raqamlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Davlat raqamlari massivi","type":"array","items":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"meta":{"description":"Paginatsiya ma'lumotlari","properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":245}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 so'rov parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"status":["Tanlangan holat noto'g'ri"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Yangi davlat raqami berish","description":"Transport vositaga yangi davlat raqami berish yoki qayta berish. action=give \u2014 yangi raqam berish (transport vositada faol raqam bo'lmasligi shart). action=recover \u2014 qayta berish (eski raqam, texnik pasport va guvohnoma avtomatik nofaol holatga o'tkaziladi). Hujjatning free_service xususiyati true bo'lsa, to'lov bepul hisoblanadi. Raqam unikalligi code+series+number+type kombinatsiyasi bo'yicha tekshiriladi.","operationId":"transportNumberStore","requestBody":{"description":"Davlat raqami berish uchun zarur ma'lumotlar","required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id","owner_id","code","series","number","type","action","given_date","doc"],"properties":{"vehicle_id":{"description":"Transport vosita ID (tbl_vehicles jadvalidan)","type":"integer","example":1},"owner_id":{"description":"Egasi \u2014 mijoz ID (customers jadvalidan)","type":"integer","example":1},"code":{"description":"Viloyat kodi (max 10 belgi)","type":"string","example":"01"},"series":{"description":"Seriya \u2014 faqat katta lotin harflari (1-4 ta). Regex: \/^[A-Z]{1,4}$\/","type":"string","example":"AB"},"number":{"description":"Raqam \u2014 faqat raqamlar (1-7 ta). Regex: \/^\\d{1,7}$\/","type":"string","example":"777"},"type":{"description":"1=yuridik o'ziyurar, 2=jismoniy o'ziyurar, 3=yuridik tirkama, 4=jismoniy tirkama","type":"string","example":"1","enum":["1","2","3","4"]},"action":{"description":"give=yangi berish, recover=qayta berish","type":"string","example":"give","enum":["give","recover"]},"given_date":{"description":"Berilgan sana (YYYY-MM-DD formatda)","type":"string","format":"date","example":"2026-02-25"},"doc":{"description":"Asos hujjat ID (documents jadvalidan)","type":"integer","example":1},"state_id":{"description":"Viloyat ID (tbl_states jadvalidan)","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi (max 255 belgi)","type":"string","example":"Oldi-sotdi shartnomasi","nullable":true},"total_amount":{"description":"Umumiy summa so'mda (min: 0)","type":"number","example":150000,"nullable":true},"recover_reason":{"description":"Qayta berish sababi (action=recover bo'lganda majburiy, max 500 belgi)","type":"string","example":"Yo'qotilganligi sababli","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Davlat raqami muvaffaqiyatli berildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Davlat raqami muvaffaqiyatli berildi"},"data":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"type":"object"}}}},"400":{"description":"Biznes logika xatosi \u2014 raqam mavjud, mijoz nofaol yoki transport vosita boshqa egaga tegishli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu davlat raqami allaqachon mavjud"}},"type":"object"},"examples":{"duplicate":{"summary":"Raqam allaqachon mavjud","value":{"success":false,"message":"Bu davlat raqami allaqachon mavjud"}},"active_exists":{"summary":"Faol raqam mavjud","value":{"success":false,"message":"Transport vositada faol davlat raqami mavjud. Avval uni bekor qiling yoki qayta berish (recover) amali tanlang."}},"inactive_customer":{"summary":"Mijoz nofaol","value":{"success":false,"message":"Mijoz faol emas yoki topilmadi"}},"wrong_owner":{"summary":"Transport vosita boshqa mijozga tegishli","value":{"success":false,"message":"Transport vosita bu mijozga tegishli emas"}}}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"series":["Seriya faqat katta lotin harflaridan iborat bo'lishi kerak (masalan: AA)"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/statistics":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqamlari statistikasi","description":"Davlat raqamlari bo'yicha umumiy statistika: holat bo'yicha (faol, nofaol, bekor qilingan), amal turi bo'yicha (berish, qayta berish), raqam turi bo'yicha (yuridik\/jismoniy, o'ziyurar\/tirkama), moliyaviy ma'lumotlar (jami summa, to'langan summa), bugungi va shu oylik ko'rsatkichlar. Sana oralig'i va hududiy filtrlar qo'llanilishi mumkin.","operationId":"transportNumberStatistics","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-01-01"}},{"name":"till","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date","example":"2026-12-31"}},{"name":"region_id","in":"query","description":"Viloyat ID (tbl_states jadvalidan)","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz city_id orqali filtrlanadi)","required":false,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Statistik ma'lumotlar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Statistik ko'rsatkichlar","properties":{"total":{"description":"Jami davlat raqamlari soni","type":"integer","example":245},"active":{"description":"Faol raqamlar soni","type":"integer","example":180},"inactive":{"description":"Nofaol raqamlar soni","type":"integer","example":50},"cancelled":{"description":"Bekor qilingan raqamlar soni","type":"integer","example":15},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar soni","type":"integer","example":200},"recover":{"description":"Qayta berilganlar soni","type":"integer","example":45}},"type":"object"},"by_type":{"description":"Raqam turi bo'yicha taqsimot","properties":{"legal_vehicle":{"description":"Yuridik shaxs o'ziyurar texnika (type=1)","type":"integer","example":100},"physical_vehicle":{"description":"Jismoniy shaxs o'ziyurar texnika (type=2)","type":"integer","example":80},"legal_trailer":{"description":"Yuridik shaxs tirkama (type=3)","type":"integer","example":40},"physical_trailer":{"description":"Jismoniy shaxs tirkama (type=4)","type":"integer","example":25}},"type":"object"},"total_amount":{"description":"Jami umumiy summa (so'mda)","type":"number","format":"double","example":36750000},"paid_amount":{"description":"Jami to'langan summa (so'mda)","type":"number","format":"double","example":36750000},"today_issued":{"description":"Bugun berilgan raqamlar soni","type":"integer","example":5},"this_month":{"description":"Joriy oyda berilgan raqamlar soni","type":"integer","example":42}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 filtr parametrlari noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/find":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqami bo'yicha qidirish","description":"Davlat raqami bo'yicha transport vositani topish. To'liq raqam (code+series+number) yoki alohida maydonlar (code, series) bo'yicha qidirish mumkin. Odatda faqat faol raqamlar ko'rsatiladi, active_only=false bilan barcha holatdagilarni olish mumkin.","operationId":"transportNumberFind","parameters":[{"name":"number","in":"query","description":"To'liq raqam bo'yicha qidirish (masalan: 01AB777)","required":false,"schema":{"type":"string","example":"01AB777"}},{"name":"code","in":"query","description":"Viloyat kodi (aniq qiymat)","required":false,"schema":{"type":"string","example":"01"}},{"name":"series","in":"query","description":"Seriya (aniq qiymat)","required":false,"schema":{"type":"string","example":"AB"}},{"name":"active_only","in":"query","description":"Faqat faol raqamlarni ko'rsatish (default: true)","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"Davlat raqami topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Berilgan parametrlar bo'yicha davlat raqami topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Davlat raqami topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/{transportNumber}":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqami batafsil ma'lumotlari","description":"Bitta davlat raqami haqida to'liq ma'lumot: transport vosita (brend, dvigatel, shassi raqami), mijoz (ism, PINFL, INN, viloyat), viloyat, asos hujjat va to'lov ma'lumotlari bilan birga qaytariladi.","operationId":"transportNumberShow","parameters":[{"name":"transportNumber","in":"path","description":"Davlat raqami ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Davlat raqami ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha davlat raqami topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqamini yangilash","description":"Davlat raqami ma'lumotlarini qisman yangilash. Barcha maydonlar ixtiyoriy (sometimes). Agar series, number yoki code o'zgartirilsa, yangi kombinatsiyaning unikalligi tekshiriladi. To'lov holati va summalarini ham yangilash mumkin.","operationId":"transportNumberUpdate","parameters":[{"name":"transportNumber","in":"path","description":"Davlat raqami ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Yangilanishi kerak bo'lgan maydonlar (faqat o'zgargan maydonlarni yuborish kifoya)","content":{"application\/json":{"schema":{"properties":{"code":{"description":"Viloyat kodi (max 10 belgi)","type":"string","example":"01","nullable":true},"series":{"description":"Seriya \u2014 faqat katta lotin harflari (1-4 ta). Regex: \/^[A-Z]{1,4}$\/","type":"string","example":"AB"},"number":{"description":"Raqam \u2014 faqat raqamlar (1-7 ta). Regex: \/^\\d{1,7}$\/","type":"string","example":"777"},"type":{"description":"Raqam turi","type":"string","example":"1","enum":["1","2","3","4"]},"given_date":{"description":"Berilgan sana (YYYY-MM-DD)","type":"string","format":"date","example":"2026-02-25"},"state_id":{"description":"Viloyat ID (tbl_states jadvalidan)","type":"integer","example":1,"nullable":true},"doc":{"description":"Asos hujjat ID (documents jadvalidan)","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi (max 255 belgi)","type":"string","example":"Oldi-sotdi shartnomasi","nullable":true},"total_amount":{"description":"Umumiy summa so'mda (min: 0)","type":"number","example":150000,"nullable":true},"paid_amount":{"description":"To'langan summa so'mda (min: 0)","type":"number","example":150000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","example":"paid","nullable":true,"enum":["pending","paid","partial"]}},"type":"object"}}}},"responses":{"200":{"description":"Davlat raqami muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Davlat raqami yangilandi"},"data":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"type":"object"}}}},"400":{"description":"Duplikat raqam \u2014 yangi kombinatsiya boshqa faol raqam bilan bir xil","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu davlat raqami allaqachon mavjud"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha davlat raqami topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"series":["Seriya faqat katta lotin harflaridan iborat bo'lishi kerak (masalan: AA)"]}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/{transportNumber}\/cancel":{"post":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Davlat raqamini bekor qilish","description":"Faol davlat raqamini bekor qilish \u2014 raqam nofaol (inactive) holatga o'tkaziladi. Bekor qilish bilan birga bog'liq hujjatlar ham avtomatik deaktiv qilinadi: agregatlar uchun guvohnoma (VehicleCertificate), boshqa transport vositalar uchun texnik pasport (TechnicalPassport). Ixtiyoriy sabab matni ko'rsatilsa, u doc_note maydoniga yoziladi.","operationId":"transportNumberCancel","parameters":[{"name":"transportNumber","in":"path","description":"Davlat raqami ID (primary key)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Bekor qilish sababi (ixtiyoriy)","required":false,"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Bekor qilish sababi (max 500 belgi). Ko'rsatilsa doc_note maydoniga yoziladi.","type":"string","example":"Xatolik aniqlandi","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Davlat raqami muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Davlat raqami bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"type":"object"}}}},"400":{"description":"Raqam allaqachon nofaol holatda \u2014 qayta bekor qilish mumkin emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu davlat raqami allaqachon bekor qilingan"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha davlat raqami topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/vehicle\/{vehicle}\/history":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Transport vositaning davlat raqamlari tarixi","description":"Transport vositasining barcha davlat raqamlari tarixi: hozirgi faol raqam (agar mavjud bo'lsa), barcha raqamlar ro'yxati (faol va nofaol) berilgan sana bo'yicha kamayish tartibida, hamda holat va amal turi bo'yicha statistika.","operationId":"transportNumberVehicleHistory","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID (tbl_vehicles jadvalidan)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Transport vositaning raqamlar tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"vehicle":{"description":"Transport vosita asosiy ma'lumotlari","properties":{"id":{"type":"integer","example":1},"engineno":{"description":"Dvigatel raqami","type":"string","example":"D4CB1234567","nullable":true},"chassisno":{"description":"Shassi raqami","type":"string","example":"XWB3K32EDNA123456","nullable":true},"made_year":{"description":"Ishlab chiqarilgan yili","type":"integer","example":2022,"nullable":true},"brand":{"description":"Brend ma'lumotlari","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"MTZ-80"}},"type":"object","nullable":true}},"type":"object"},"numbers":{"description":"Barcha davlat raqamlari (berilgan sana bo'yicha kamayish tartibida)","type":"array","items":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"active_number":{"oneOf":[{"$ref":"#\/components\/schemas\/TransportNumberResource"}],"nullable":true,"description":"Hozirgi faol raqam (agar mavjud bo'lsa, aks holda null)"},"statistics":{"description":"Raqamlar statistikasi","properties":{"total":{"description":"Jami raqamlar soni","type":"integer","example":3},"active":{"description":"Faol raqamlar","type":"integer","example":1},"inactive":{"description":"Nofaol raqamlar","type":"integer","example":2},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar","type":"integer","example":2},"recover":{"description":"Qayta berilganlar","type":"integer","example":1}},"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Mijozning davlat raqamlari tarixi","description":"Mijozning barcha transport vositalari uchun berilgan davlat raqamlari tarixi. Javobda mijoz ma'lumotlari, raqamlar ro'yxati (berilgan sana bo'yicha kamayish tartibida), hamda holat, amal turi va raqam turi bo'yicha statistika qaytariladi.","operationId":"transportNumberCustomerHistory","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID (customers jadvalidan)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Mijoz raqamlari tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"customer":{"description":"Mijoz asosiy ma'lumotlari","properties":{"id":{"type":"integer","example":1},"name":{"description":"To'liq ism","type":"string","example":"Karimov Jasur Baxtiyor o'g'li"},"pinfl":{"description":"Jismoniy shaxs identifikatsiya raqami","type":"string","example":"31234567890123","nullable":true},"inn":{"description":"Soliq to'lovchi raqami","type":"string","example":"123456789","nullable":true},"region":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati","nullable":true},"district":{"description":"Tuman nomi","type":"string","example":"Chirchiq tumani","nullable":true}},"type":"object"},"numbers":{"description":"Barcha davlat raqamlari","type":"array","items":{"$ref":"#\/components\/schemas\/TransportNumberResource"}},"statistics":{"description":"Raqamlar statistikasi","properties":{"total":{"description":"Jami raqamlar soni","type":"integer","example":5},"active":{"description":"Faol raqamlar","type":"integer","example":2},"inactive":{"description":"Nofaol raqamlar","type":"integer","example":3},"by_action":{"description":"Amal turi bo'yicha taqsimot","properties":{"give":{"description":"Yangi berilganlar","type":"integer","example":3},"recover":{"description":"Qayta berilganlar","type":"integer","example":2}},"type":"object"},"by_type":{"description":"Raqam turi bo'yicha taqsimot","properties":{"legal_vehicle":{"description":"Yuridik shaxs o'ziyurar (type=1)","type":"integer","example":2},"physical_vehicle":{"description":"Jismoniy shaxs o'ziyurar (type=2)","type":"integer","example":1},"legal_trailer":{"description":"Yuridik shaxs tirkama (type=3)","type":"integer","example":1},"physical_trailer":{"description":"Jismoniy shaxs tirkama (type=4)","type":"integer","example":1}},"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}},"404":{"description":"Ko'rsatilgan ID bo'yicha mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/transport-numbers\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Transport raqamlar"],"summary":"Transport vositaga raqam berish mumkinligini tekshirish","description":"Transport vositada faol davlat raqami bormi tekshirish. can_create=true bo'lsa yangi raqam (give amali) berish mumkin. can_create=false bo'lsa avval mavjud raqamni bekor qilish yoki qayta berish (recover) amali kerak. Agar faol raqam mavjud bo'lsa, uning to'liq ma'lumotlari active_number maydonida qaytariladi.","operationId":"transportNumberCheckVehicle","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID (tbl_vehicles jadvalidan)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Tekshiruv natijasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Tekshiruv natijasi","properties":{"can_create":{"description":"Yangi raqam berish mumkinmi (true=mumkin, false=mumkin emas)","type":"boolean","example":true},"active_number":{"oneOf":[{"$ref":"#\/components\/schemas\/TransportNumberResource"}],"nullable":true,"description":"Hozirgi faol raqam (agar mavjud bo'lsa, aks holda null)"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token yaroqsiz yoki ko'rsatilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Token topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Xodimlar harakatlari ro'yxati","description":"uzagroteh-main: activelog\/list.blade.php","operationId":"d9d629fc4341ea0e9b742cd226c0d3b1","parameters":[{"name":"user_id","in":"query","description":"Xodim IDsi","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Mijoz (texnika egasi) IDsi","schema":{"type":"integer"}},{"name":"vehicle_id","in":"query","description":"Texnika IDsi","schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman IDsi","schema":{"type":"integer"}},{"name":"action_type","in":"query","description":"Harakat turi","schema":{"type":"string"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Yangi harakat qayd etish","operationId":"0f97cb6c967f73e59ffc142124b8f8fb","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["action_type","action"],"properties":{"user_id":{"description":"Xodim IDsi","type":"integer","example":1},"owner_id":{"description":"Mijoz IDsi","type":"integer","example":1},"vehicle_id":{"description":"Texnika IDsi","type":"integer","example":1},"city_id":{"description":"Tuman IDsi","type":"integer","example":1},"action_id":{"description":"Bog'liq yozuv IDsi","type":"integer","example":1},"action_type":{"description":"Harakat turi","type":"string","example":"login"},"action":{"description":"Harakat tavsifi","type":"string","example":"Tizimga kirdi"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/action-types":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Harakat turlari ro'yxati","operationId":"f9cac93576ada74fe7f08311b91671a0","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/statistics":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Harakatlar statistikasi","operationId":"3c40c71b2a7fb8f046ec5f8047db6046","parameters":[{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/{userActivity}":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Harakat tafsilotlari","operationId":"3a8c1cb5d4f2e97680bb65557768d02c","parameters":[{"name":"userActivity","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/by-user\/{userId}":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Xodim harakatlari","operationId":"627a49df4884276c0a684ba099430f93","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/by-customer\/{customerId}":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Mijoz bo'yicha harakatlar","operationId":"8ebd89d1ea99cb516b27edfd91b40d56","parameters":[{"name":"customerId","in":"path","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/by-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Texnika bo'yicha harakatlar","operationId":"a24fdae322476be66607a3e905ed447b","parameters":[{"name":"vehicleId","in":"path","required":true,"schema":{"type":"integer"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/cleanup":{"delete":{"tags":["Agroteh Service","Foydalanuvchi faoliyati"],"summary":"Eski harakatlarni tozalash","operationId":"6e04c6b6d0dfe57ca3169cf0f98db4ca","parameters":[{"name":"days","in":"query","required":true,"schema":{"type":"integer","minimum":90}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/contracts":{"get":{"tags":["Agroteh Service","NT: Diller-zavod shartnomalari"],"summary":"Diller-zavod shartnomalari ro'yxati","description":"Barcha diller-zavod shartnomalarini olish. Foydalanuvchi yoki zavod bo'yicha filtr, qidiruv va sahifalash.","operationId":"28524a1a26f9e8c22bef3d09441c53a8","parameters":[{"name":"user_id","in":"query","description":"Foydalanuvchi ID bo'yicha filtr","schema":{"type":"integer"}},{"name":"factory_id","in":"query","description":"Zavod ID bo'yicha filtr","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faollik bo'yicha filtr","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Shartnomalar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserFactoryContractResponse"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","NT: Diller-zavod shartnomalari"],"summary":"Yangi shartnoma yaratish","description":"Diller va zavod o'rtasida yangi shartnoma yaratish. Bir diller bir zavodga faqat bitta shartnoma olishi mumkin. Shartnoma faylini ham yuklash mumkin (pdf, jpg, jpeg, png, doc, docx \u2014 max 10MB).","operationId":"871767e2331bd20ca9da7b515ccb427a","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["user_id","factory_id"],"properties":{"user_id":{"description":"Diller (foydalanuvchi) ID","type":"integer","example":5},"factory_id":{"description":"Zavod ID","type":"integer","example":3},"term_date":{"description":"Shartnoma muddati","type":"string","format":"date","example":"2027-01-01","nullable":true},"file":{"description":"Shartnoma fayli (pdf, jpg, jpeg, png, doc, docx \u2014 max 10MB)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Shartnoma yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Shartnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/UserFactoryContractResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/new-texnika\/contracts\/{contract}":{"get":{"tags":["Agroteh Service","NT: Diller-zavod shartnomalari"],"summary":"Shartnoma ma'lumotlari","description":"Bitta diller-zavod shartnomasining to'liq ma'lumotlari.","operationId":"f944d4a38232885fac67fe963a7cb13f","parameters":[{"name":"contract","in":"path","description":"Shartnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Shartnoma ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/UserFactoryContractResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Shartnoma topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","NT: Diller-zavod shartnomalari"],"summary":"Shartnomani yangilash","description":"Shartnoma muddati, faollik holati va faylini yangilash. Yangi fayl yuklansa eskisi o'chiriladi. remove_file=true bilan faylni o'chirish mumkin. PUT o'rniga POST ishlatiladi (multipart\/form-data uchun _method=PUT qo'shing).","operationId":"4284fcd06e2ea087a243994d71100e5b","parameters":[{"name":"contract","in":"path","description":"Shartnoma ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"multipart\/form-data":{"schema":{"properties":{"_method":{"description":"PUT method override","type":"string","example":"PUT"},"term_date":{"type":"string","format":"date","example":"2027-06-01","nullable":true},"is_active":{"type":"boolean","example":true},"file":{"description":"Yangi shartnoma fayli (pdf, jpg, jpeg, png, doc, docx \u2014 max 10MB)","type":"string","format":"binary","nullable":true},"remove_file":{"description":"true = mavjud faylni o'chirish","type":"boolean","example":false}},"type":"object"}}}},"responses":{"200":{"description":"Shartnoma yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Shartnoma muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/UserFactoryContractResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Shartnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","NT: Diller-zavod shartnomalari"],"summary":"Shartnomani o'chirish","description":"Diller-zavod shartnomasini o'chirish.","operationId":"12765febd3a73dc65720b4ff92c15be7","parameters":[{"name":"contract","in":"path","description":"Shartnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Shartnoma o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Shartnoma muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Shartnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-brands":{"get":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Brendlar ro'yxati","description":"Barcha texnika brendlarini olish. Nomi, texnika turi yoki ish turi bo'yicha filtrlash mumkin. Natijalar oxirgisidan boshlab tartiblangan.","operationId":"f49ca63d8c88aafc83800df004e38a41","parameters":[{"name":"search","in":"query","description":"Brend nomini qidirish (qisman mos kelishi mumkin)","required":false,"schema":{"type":"string","example":"MX"}},{"name":"type_id","in":"query","description":"Texnika turi IDsi bo'yicha filtrlash (tbl_vehicle_types.id)","required":false,"schema":{"type":"integer","example":23}},{"name":"working_id","in":"query","description":"Ish turi IDsi bo'yicha filtrlash (vehicle_works_fors.id)","required":false,"schema":{"type":"integer","example":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Brendlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleBrandResource"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Yangi brend qo'shish","description":"Yangi texnika brendini yaratish. Texnika turi va ish turi IDlarini \/api\/v1\/vehicle-brands\/create endpointidan olish mumkin.","operationId":"aa620e228f6e85b004286771f9c3aece","requestBody":{"description":"Yangi brend ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"required":["type_id","vehicalbrand","enginesize","working_id"],"properties":{"type_id":{"description":"Texnika turi IDsi (tbl_vehicle_types.id). Masalan: 23=Traktor, 29=Kombayn","type":"integer","example":23},"vehicalbrand":{"description":"Brend nomi (texnika markasi)","type":"string","example":"MX-80"},"enginesize":{"description":"Dvigatel quvvati (ot kuchi)","type":"string","example":"80"},"working_id":{"description":"Ish turi IDsi (vehicle_works_fors.id)","type":"integer","example":1}},"type":"object"}}}},"responses":{"201":{"description":"Brend muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleBrandResource"},"message":{"type":"string","example":"Brend yaratildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-brands\/create":{"get":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Brend qo'shish formasi uchun ma'lumotlar","description":"Yangi brend qo'shish formasida kerak bo'ladigan ma'lumotlar: texnika turlari va ish turlari ro'yxati.","operationId":"64b7b73614cc6ad6953a8e716f2d2f5b","responses":{"200":{"description":"Forma ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Forma sarlavhasi","type":"string","example":"Brend qo'shish"},"types":{"description":"Texnika turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":23},"name":{"type":"string","example":"Traktor"}},"type":"object"}},"workings":{"description":"Ish turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yuqori unumli"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-brands\/{vehicleBrand}":{"get":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Brend ma'lumotlari","description":"Bitta brendning to'liq ma'lumotlarini ko'rish. Tahrirlash formasi uchun texnika turlari va ish turlari ro'yxati ham qaytariladi.","operationId":"daa7b6f760c269110f41ce28c6468dcd","parameters":[{"name":"vehicleBrand","in":"path","description":"Brend IDsi (tbl_vehicle_brands.id)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Brend ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"item":{"$ref":"#\/components\/schemas\/VehicleBrandResource"},"types":{"description":"Texnika turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":23},"name":{"type":"string","example":"Traktor"}},"type":"object"}},"workings":{"description":"Ish turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yuqori unumli"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Brend topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Brendni yangilash","description":"Mavjud texnika brendini tahrirlash. Barcha majburiy maydonlar yuborilishi kerak.","operationId":"1a346236266ab5e120c3588e393b899e","parameters":[{"name":"vehicleBrand","in":"path","description":"Brend IDsi (tbl_vehicle_brands.id)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Yangilangan brend ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"required":["type_id","vehicalbrand","enginesize","working_id"],"properties":{"type_id":{"description":"Texnika turi IDsi (tbl_vehicle_types.id)","type":"integer","example":23},"vehicalbrand":{"description":"Brend nomi (texnika markasi)","type":"string","example":"MX-80"},"enginesize":{"description":"Dvigatel quvvati (ot kuchi)","type":"string","example":"80"},"working_id":{"description":"Ish turi IDsi (vehicle_works_fors.id)","type":"integer","example":1},"unfit":{"description":"Ro'yxatga olinmaydigan texnika belgisi","type":"boolean","example":false,"nullable":true},"minstroy":{"description":"Qurilish vazirligiga yuborilmaydigan belgisi","type":"boolean","example":false,"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Brend muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleBrandResource"},"message":{"type":"string","example":"Brend yangilandi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Brend topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Texnika brendlari"],"summary":"Brendni o'chirish","description":"Texnika brendini tizimdan o'chirish. Agar brendga bog'langan texnikalar mavjud bo'lsa, o'chirish mumkin emas.","operationId":"27f18f19501c11a94053bab0483600d6","parameters":[{"name":"vehicleBrand","in":"path","description":"Brend IDsi (tbl_vehicle_brands.id)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Brend muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Brend o'chirildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Brend topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnomalar ro'yxati","description":"Agregatlar uchun texnik guvohnomalar ro'yxati. Filtrlash va qidirish imkoniyatlari:\n- **search**: PINFL, INN, FIO (customers.name), passport, guvohnoma series, number, CONCAT(series,number) bo'yicha ILIKE qidirish\n- **from\/till** yoki **date_from\/date_to**: given_date bo'yicha sana oralig'i filtri\n- **region_id\/district_id**: mijoz (customer) jadvalidan whereHas orqali filtrlash\n- **Eager loading**: vehicle.vehicleBrand, vehicle.vehicleBrand.vehicleType, customer\n- **Tartiblash**: created_at DESC (latest)\n- **Pagination**: per_page (default: 15, max: 100)","operationId":"6646d5905821d39a58e76adc2b1c61e9","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default: 15, max: 100)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidirish: guvohnoma raqami (series, number, series+number), mijoz (PINFL, INN, FIO, passport)","schema":{"type":"string"}},{"name":"vehicle_id","in":"query","description":"Agregat ID bo'yicha filtrlash (aniq moslik)","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID bo'yicha filtrlash (aniq moslik)","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Guvohnoma holati","schema":{"type":"string","enum":["active","inactive"]}},{"name":"series","in":"query","description":"Seriya bo'yicha aniq filtrlash (masalan: UZ-AA)","schema":{"type":"string"}},{"name":"number","in":"query","description":"Raqam bo'yicha ILIKE qidirish (qisman moslik)","schema":{"type":"string"}},{"name":"from","in":"query","description":"Berilgan sana boshlanishi (alias: date_from). Format: Y-m-d","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Berilgan sana tugashi (alias: date_to). Format: Y-m-d","schema":{"type":"string","format":"date"}},{"name":"action","in":"query","description":"Amal turi: give=yangi berish, recover=qayta tiklash","schema":{"type":"string","enum":["give","recover"]}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz orqali whereHas filtri)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz orqali whereHas filtri)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik guvohnomalar ro'yxati muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"meta":{"properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":15},"total":{"type":"integer","example":70},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string","nullable":true},"last":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnoma berish","description":"Agregatga yangi texnik guvohnoma berish yoki qayta tiklash. Biznes qoidalar:\n1. **Faqat agregatlar**: Transport vosita\/tirkama uchun texnik pasport beriladi, guvohnoma faqat agregatlar uchun\n2. **Mijoz tegishliligi**: Agregat owner_id bo'lsa, u ko'rsatilgan mijozga mos bo'lishi kerak\n3. **give (yangi berish)**: Agregatda faol guvohnoma bo'lmasligi shart. Agar bor \u2014 400 xato\n4. **recover (qayta tiklash)**: Eski faol guvohnomalar avtomatik inactive bo'ladi\n5. **Bepul xizmat (free_service)**: Agar tanlangan hujjat (doc) documents jadvalida free_service=true bo'lsa:\n   - give da ham eski guvohnomalar avtomatik deaktiv bo'ladi (eski formatni yangi formatga o'tkazish)\n   - series va number qo'lda kiritiladi\n   - payment_status=free, paid_amount=0\n6. **Pullik xizmat**: series\/number avtomatik UZ-AA + PostgreSQL sequence (8682-8709 xato raqamlar o'tkaziladi). payment_status=paid\n7. **Avtomatik**: status=active, user_id=auth user, certificate_id=series+number\n8. **RabbitMQ**: vehicle_certificate.created eventi publish bo'ladi","operationId":"d8278fb836ba25f8496602962b26c187","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["vehicle_id","owner_id","action","given_date","doc"],"properties":{"vehicle_id":{"description":"Agregat ID (tbl_vehicles). Faqat agregat bo'lishi kerak (vehicle.isAgregat()=true)","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID (customers). Faol mijoz bo'lishi kerak","type":"integer","example":1},"action":{"description":"give=yangi berish (faol guvohnoma bo'lmasligi shart), recover=qayta tiklash (eskisini avtomatik deaktiv qiladi)","type":"string","example":"give","enum":["give","recover"]},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-26"},"doc":{"description":"Asos hujjat ID (documents). Agar documents.free_service=true bo'lsa, bepul xizmat logikasi ishga tushadi","type":"integer","example":1},"series":{"description":"Seriya. Pullik: avtomatik UZ-AA (bo'sh qoldiring). Bepul: qo'lda kiriting. Regex: \/^[A-Z\\-]{2,10}$\/","type":"string","example":"UZ-AA","nullable":true},"number":{"description":"Raqam (6 ta raqam, 0 bilan to'ldiriladi). Pullik: avtomatik sequence. Bepul: qo'lda kiriting. Regex: \/^\\d{1,6}$\/","type":"string","example":"008710","nullable":true},"expire_date":{"description":"Amal qilish muddati (given_date dan keyin bo'lishi kerak)","type":"string","format":"date","example":"2036-02-26","nullable":true},"doc_note":{"description":"Hujjat izohi (max 255)","type":"string","example":"Oldi-sotdi shartnomasi","nullable":true},"note":{"description":"Alohida belgilar (max 500)","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"total_amount":{"description":"Umumiy xizmat narxi (so'm, min: 0)","type":"number","example":80000,"nullable":true},"recover_reason":{"description":"Qayta tiklash sababi (action=recover bo'lganda majburiy, max 500)","type":"string","example":"Yaroqsiz holga kelgan guvohnoma o'rniga","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Texnik guvohnoma muvaffaqiyatli berildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik guvohnoma muvaffaqiyatli berildi"},"data":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"type":"object"}}}},"400":{"description":"Biznes qoida xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"},"examples":{"active_exists":{"summary":"Faol guvohnoma mavjud (give)","value":{"success":false,"message":"Bu agregatda faol texnik guvohnoma mavjud. Avval uni bekor qiling yoki qayta berish (recover) amali tanlang."}},"inactive_customer":{"summary":"Mijoz nofaol","value":{"success":false,"message":"Mijoz faol emas yoki topilmadi"}},"wrong_owner":{"summary":"Boshqa mijozniki","value":{"success":false,"message":"Agregat bu mijozga tegishli emas"}},"not_agregat":{"summary":"Agregat emas","value":{"success":false,"message":"Texnik guvohnoma faqat agregatlar uchun beriladi. Transport vosita yoki tirkama uchun texnik pasport bering."}}}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/statistics":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnomalar statistikasi","description":"Texnik guvohnomalar bo'yicha umumiy statistika: jami, faol, nofaol, muddati o'tgan, yangi berilgan va qayta tiklanganlar soni, xizmat narxlari va to'lov summalari. Sana va lokatsiya filtrlari qo'llaniladi.","operationId":"2459dd0ee0b3d1d98625793a42ce54e1","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi (alias: date_from)","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi (alias: date_to)","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID (mijoz orqali)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID (mijoz orqali)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"description":"Barcha guvohnomalar soni","type":"integer","example":100},"active":{"description":"Faol guvohnomalar (status=active)","type":"integer","example":80},"inactive":{"description":"Bekor qilingan (status=inactive)","type":"integer","example":20},"expired":{"description":"Muddati o'tgan (active + expire_date < bugun)","type":"integer","example":5},"given":{"description":"Yangi berilgan (action=give)","type":"integer","example":70},"recovered":{"description":"Qayta tiklangan (action=recover)","type":"integer","example":30},"total_amount":{"description":"Umumiy xizmat summasi (so'm)","type":"number","example":12000000},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":11500000}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/{vehicleCertificate}":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnoma ma'lumotlari","description":"Bitta texnik guvohnoma haqida to'liq ma'lumot. Bog'liq ma'lumotlar: agregat (brend, tur), mijoz, asos hujjat, yaratgan foydalanuvchi.","operationId":"ed74221afeadce8f6cce7fe403044b92","parameters":[{"name":"vehicleCertificate","in":"path","description":"Texnik guvohnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik guvohnoma ma'lumotlari muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik guvohnoma topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnomani yangilash","description":"Texnik guvohnoma ma'lumotlarini yangilash. O'zgartirilmaydigan maydonlar: vehicle_id, owner_id, action, user_id.\nFaqat quyidagi maydonlar yangilanishi mumkin: series, number, given_date, expire_date, doc, doc_note, note, total_amount, paid_amount, payment_status.\nRabbitMQ: vehicle_certificate.updated eventi publish bo'ladi","operationId":"6760d45f0091aa96da1cb8c0bf3c31bf","parameters":[{"name":"vehicleCertificate","in":"path","description":"Texnik guvohnoma ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"series":{"description":"Seriya. Regex: \/^[A-Z\\-]{2,10}$\/","type":"string","example":"UZ-AA"},"number":{"description":"Raqam. Regex: \/^\\d{1,6}$\/","type":"string","example":"008710"},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-26"},"expire_date":{"description":"Amal qilish muddati (given_date dan keyin)","type":"string","format":"date","example":"2036-02-26"},"doc":{"description":"Asos hujjat ID","type":"integer","nullable":true},"doc_note":{"description":"Hujjat izohi (max 255)","type":"string","nullable":true},"note":{"description":"Alohida belgilar (max 500)","type":"string","nullable":true},"total_amount":{"description":"Umumiy summa (so'm)","type":"number","example":80000,"nullable":true},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":80000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","nullable":true,"enum":["pending","paid","partial"]}},"type":"object"}}}},"responses":{"200":{"description":"Texnik guvohnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik guvohnoma yangilandi"},"data":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik guvohnoma topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/find":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnomani raqam bo'yicha qidirish","description":"Texnik guvohnomani raqam bo'yicha topish. Ikki rejim:\n1. **Faqat number**: Raqam bo'yicha aniq moslik (birinchi topilgan)\n2. **series + number**: Seriya va raqam bo'yicha aniq moslik\nEager loading: vehicle.vehicleBrand, customer","operationId":"5d8b6c0a8db329f3b451c9d9fb45dda1","parameters":[{"name":"series","in":"query","description":"Seriya (ixtiyoriy, aniqlashtirish uchun)","schema":{"type":"string","example":"UZ-AA"}},{"name":"number","in":"query","description":"Raqam (aniq moslik)","required":true,"schema":{"type":"string","example":"008710"}}],"responses":{"200":{"description":"Texnik guvohnoma topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik guvohnoma topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Agregatga guvohnoma berish mumkinligini tekshirish","description":"Agregatga texnik guvohnoma berish mumkinligini tekshirish. Tekshirishlar:\n1. **Agregat mavjudligi**: tbl_vehicles da topilishi kerak\n2. **Agregat turimi**: vehicle.isAgregat()=true bo'lishi kerak\n3. **can_create**: Faol (active) guvohnoma bo'lmasa true, aks holda false\n4. **has_active**: can_create ning teskarisi\n5. **active_certificate**: Agar faol guvohnoma bo'lsa, to'liq ma'lumotlari (customer bilan)","operationId":"dc859a7004e35e561a0e105170b61d84","parameters":[{"name":"vehicleId","in":"path","description":"Agregat ID (tbl_vehicles)","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tekshirish muvaffaqiyatli o'tkazildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"can_create":{"description":"Yangi guvohnoma berish mumkinmi (faol guvohnoma yo'q)","type":"boolean","example":true},"has_active":{"description":"Faol guvohnoma bormi","type":"boolean","example":false},"active_certificate":{"description":"Faol guvohnoma (VehicleCertificateResource) yoki null","type":"object","nullable":true},"total_certificates":{"description":"Jami guvohnomalar soni (active + inactive)","type":"integer","example":3},"message":{"description":"O'zbek tilidagi xabar","type":"string","example":"Bu agregatga texnik guvohnoma berish mumkin"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Agregat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Agregat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/{vehicleCertificate}\/cancel":{"post":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Texnik guvohnomani bekor qilish","description":"Texnik guvohnomani bekor qilish (status: active \u2192 inactive).\n- Faqat faol (active) guvohnomalar bekor qilinishi mumkin\n- reason berilsa, note maydoniga saqlanadi\n- RabbitMQ: vehicle_certificate.cancelled eventi publish bo'ladi\n- Texnik pasportdan farqli: cascade yo'q (faqat guvohnomaning o'zi deaktiv bo'ladi)","operationId":"d6bc3526531e03ba563bff5cd5518e4b","parameters":[{"name":"vehicleCertificate","in":"path","description":"Texnik guvohnoma ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Bekor qilish sababi (max 500). note maydoniga saqlanadi","type":"string","example":"Agregat sotilganligi sababli","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Texnik guvohnoma muvaffaqiyatli bekor qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik guvohnoma bekor qilindi"},"data":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"type":"object"}}}},"400":{"description":"Allaqachon bekor qilingan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu texnik guvohnoma allaqachon bekor qilingan"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Texnik guvohnoma topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Texnik guvohnoma topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/vehicle\/{vehicle}\/history":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Agregatning texnik guvohnomalar tarixi","description":"Agregatning barcha texnik guvohnomalari tarixi (active + inactive). Eng yangi birinchi (latest).\nEager loading: customer, user. Pagination yo'q \u2014 barcha yozuvlar qaytariladi.","operationId":"30245676d920f8f626676cc3858b7e31","parameters":[{"name":"vehicle","in":"path","description":"Agregat ID (tbl_vehicles)","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Agregat guvohnomalar tarixi muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Agregat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Agregat topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-certificates\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Texnika guvohnomalari"],"summary":"Mijozning texnik guvohnomalar tarixi","description":"Mijozning barcha texnik guvohnomalari tarixi va statistikasi.\n**certificates**: barcha yozuvlar (active + inactive), eng yangi birinchi.\nEager loading: vehicle.vehicleBrand, vehicle.vehicleBrand.vehicleType, user.\n**statistics**: shu mijozga tegishli barcha guvohnomalar statistikasi (total, active, inactive, expired, given, recovered, total_amount, paid_amount)","operationId":"763a24915a87f688e0febae78e4ed763","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID (customers jadvalidan)","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Mijoz guvohnomalar tarixi muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"certificates":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleCertificateResource"}},"statistics":{"properties":{"total":{"description":"Jami guvohnomalar","type":"integer","example":5},"active":{"description":"Faol (status=active)","type":"integer","example":3},"inactive":{"description":"Bekor qilingan (status=inactive)","type":"integer","example":2},"expired":{"description":"Muddati o'tgan (active + expire_date < bugun)","type":"integer","example":1},"given":{"description":"Yangi berilgan (action=give)","type":"integer","example":4},"recovered":{"description":"Qayta tiklangan (action=recover)","type":"integer","example":1},"total_amount":{"description":"Umumiy xizmat summasi (so'm)","type":"number","example":400000},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":400000}},"type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Mijoz topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Mijoz topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositalar ro'yxati","description":"Barcha transport vositalar ro'yxatini filtrlash imkoniyati bilan olish. Tur (texnika, agregat, tirkama), holat (ro'yxatdan o'tgan\/o'tmagan), blok holati, egasi, viloyat\/tuman, brend, texnika turi, lizing holati, sana oralig'i va texnik ko'rik holati bo'yicha filtrlash mumkin. Standart sahifalash qo'llaniladi (per_page=-1 barcha yozuvlarni qaytaradi). Ro'yxatga olish, qayta ro'yxatga olish yoki statistika sahifalarida foydalaniladi.","operationId":"73b535724aa9e0eb6ab36f9dea2af5d9","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 bo'lsa barcha yozuvlar qaytadi, max 1000)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Umumiy qidirish \u2014 dvigatel, shassi, kuzov, zavod raqami, egasi ismi, davlat raqami, brend nomi yoki PINFL\/INN bo'yicha qidiradi","schema":{"type":"string"}},{"name":"engine_no","in":"query","description":"Dvigatel raqami bo'yicha filtrlash (qisman mos kelishi mumkin)","schema":{"type":"string"}},{"name":"chassis_no","in":"query","description":"Shassi raqami bo'yicha filtrlash (qisman mos kelishi mumkin)","schema":{"type":"string"}},{"name":"corpus_no","in":"query","description":"Kuzov raqami bo'yicha filtrlash (qisman mos kelishi mumkin)","schema":{"type":"string"}},{"name":"factory_number","in":"query","description":"Zavod raqami bo'yicha filtrlash","schema":{"type":"string"}},{"name":"transport_number","in":"query","description":"Davlat raqami bo'yicha filtrlash (seriya+raqam)","schema":{"type":"string"}},{"name":"type","in":"query","description":"Texnika turi: vehicle=transport vosita, agregat=agregat, tirkama=tirkama","schema":{"type":"string","enum":["vehicle","agregat","tirkama"]}},{"name":"status","in":"query","description":"Ro'yxatga olish holati (standart: faqat ro'yxatdan o'tganlar ko'rsatiladi)","schema":{"type":"string","enum":["regged","unregged"]}},{"name":"state","in":"query","description":"Blok holati \u2014 texnika bloklangan yoki erkin","schema":{"type":"string","enum":["lock","unlock"]}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID raqami","schema":{"type":"integer"}},{"name":"owner_type","in":"query","description":"Egasi turi \u2014 jismoniy yoki yuridik shaxs","schema":{"type":"string","enum":["physical","legal","all"]}},{"name":"region_id","in":"query","description":"Viloyat ID raqami (tbl_states jadvalidan)","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman\/shahar ID raqami (tbl_cities jadvalidan)","schema":{"type":"integer"}},{"name":"brand_id","in":"query","description":"Texnika brendi ID raqami (tbl_vehicle_brands jadvalidan)","schema":{"type":"integer"}},{"name":"vehicle_type_id","in":"query","description":"Texnika turi ID raqami (tbl_vehicle_types jadvalidan)","schema":{"type":"integer"}},{"name":"is_lising","in":"query","description":"Faqat lizingdagi texnikalarni ko'rsatish","schema":{"type":"boolean"}},{"name":"with_owner","in":"query","description":"Faqat egasi bo'lgan texnikalarni ko'rsatish","schema":{"type":"boolean"}},{"name":"from_date","in":"query","description":"Ro'yxatga olish sanasi (dan) \u2014 YYYY-MM-DD formatda","schema":{"type":"string","format":"date"}},{"name":"to_date","in":"query","description":"Ro'yxatga olish sanasi (gacha) \u2014 YYYY-MM-DD formatda","schema":{"type":"string","format":"date"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","enum":["id","created_at","updated_at","engineno","modelyear"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi \u2014 o'sish yoki kamayish","schema":{"type":"string","enum":["asc","desc"]}},{"name":"inspection_status","in":"query","description":"Texnik ko'rik holati: expiring=tugayotgan, expired=muddati o'tgan, valid=amal qilmoqda, none=ko'rik o'tkazilmagan","schema":{"type":"string","enum":["expiring","expired","valid","none"]}},{"name":"inspection_expiring_days","in":"query","description":"Texnik ko'rik tugash ogohlantirish kunlari (faqat inspection_status=expiring bilan ishlatiladi)","schema":{"type":"integer","default":30}}],"responses":{"200":{"description":"Transport vositalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleResource"}},"meta":{"properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":10},"per_page":{"type":"integer","example":15},"total":{"type":"integer","example":150}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan \u2014 JWT token noto'g'ri yoki muddati o'tgan"},"422":{"description":"Validatsiya xatosi \u2014 filtrlash parametrlari noto'g'ri"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnikalar"],"summary":"Yangi transport vosita yaratish","description":"Yangi transport vositani (texnika, agregat yoki tirkama) tizimga kiritish. Egasi (owner_id), brend (vehicle_brand_id) va tur (type) majburiy. Dvigatel, shassi, kuzov raqamlari, model yili, rang, yoqilg'i turi va boshqa texnik xususiyatlar ko'rsatilishi mumkin. Yaratilgan texnika avtomatik ravishda \"ro'yxatdan o'tmagan\" holatida bo'ladi.","operationId":"97d5b1544d8d0b1bbf78bacb7ff7c9d6","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["type","owner_id","vehicle_brand_id"],"properties":{"type":{"description":"Texnika turi \u2014 transport vosita, agregat yoki tirkama","type":"string","example":"vehicle","enum":["vehicle","agregat","tirkama"]},"owner_id":{"description":"Egasi (mijoz) ID raqami \u2014 customers jadvalidan","type":"integer","example":1},"vehicle_brand_id":{"description":"Texnika brendi ID raqami \u2014 tbl_vehicle_brands jadvalidan","type":"integer","example":1},"vehicle_type_id":{"description":"Texnika turi ID raqami \u2014 tbl_vehicle_types jadvalidan","type":"integer","example":1},"working_type_id":{"description":"Ish turi ID raqami \u2014 texnikaning qanday ishda foydalanilishi","type":"integer","example":1},"factory_id":{"description":"Ishlab chiqaruvchi zavod ID raqami","type":"integer","example":1},"color_id":{"description":"Rang ID raqami","type":"integer","example":1},"fuel_type_id":{"description":"Yoqilg'i turi ID raqami (dizel, benzin va h.k.)","type":"integer","example":1},"engine_no":{"description":"Dvigatel raqami \u2014 noyob identifikator","type":"string","example":"ENG123456"},"chassis_no":{"description":"Shassi raqami \u2014 noyob identifikator","type":"string","example":"CHS123456"},"corpus_no":{"description":"Kuzov raqami","type":"string","example":"CRP123456"},"factory_number":{"description":"Zavod raqami \u2014 ishlab chiqaruvchi tomonidan berilgan","type":"string","example":"FN-2024-001"},"engine_size":{"description":"Dvigatel hajmi (kubik santimetr)","type":"integer","example":4200},"model_year":{"description":"Ishlab chiqarilgan yili","type":"integer","example":2020},"condition":{"description":"Texnika holati \u2014 yangi yoki ishlatilgan","type":"string","example":"new","enum":["new","used"]},"region_id":{"description":"Viloyat ID raqami","type":"integer","example":1},"district_id":{"description":"Tuman\/shahar ID raqami","type":"integer","example":10}},"type":"object"}}}},"responses":{"201":{"description":"Transport vosita muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Transport vosita muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 majburiy maydonlar to'ldirilmagan yoki noto'g'ri formatda","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/statistics":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositalar statistikasi","description":"Transport vositalar bo'yicha umumiy statistika \u2014 jami soni, ro'yxatdan o'tgan\/o'tmagan, bloklangan, turi bo'yicha taqsimot, brend bo'yicha top-10, texnik ko'rigi tugayotgan\/tugagan soni va so'nggi 30 kun ichidagi ro'yxatga olish\/ko'rik soni. Boshqaruv paneli (dashboard) uchun ishlatiladi. Viloyat yoki tuman bo'yicha filtrlash mumkin.","operationId":"2d454faaf3dad0dba645bd9a9c420257","parameters":[{"name":"region_id","in":"query","description":"Viloyat ID raqami \u2014 faqat shu viloyat bo'yicha statistika","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID raqami \u2014 faqat shu tuman bo'yicha statistika","schema":{"type":"integer"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"description":"Jami texnikalar soni","type":"integer","example":15000},"registered":{"description":"Ro'yxatdan o'tgan","type":"integer","example":12000},"unregistered":{"description":"Ro'yxatdan o'tmagan","type":"integer","example":3000},"locked":{"description":"Bloklangan","type":"integer","example":500},"unlocked":{"description":"Bloklanmagan","type":"integer","example":14500},"with_owner":{"description":"Egasi bo'lgan","type":"integer","example":14000},"inspection_expiring":{"description":"Texnik ko'rigi 30 kun ichida tugaydiganlar","type":"integer","example":200},"inspection_expired":{"description":"Texnik ko'rigi muddati o'tganlar","type":"integer","example":800},"by_type":{"description":"Tur bo'yicha taqsimot","properties":{"vehicle":{"type":"integer","example":10000},"agregat":{"type":"integer","example":3000},"tirkama":{"type":"integer","example":2000}},"type":"object"},"recent_registrations":{"description":"So'nggi 30 kundagi ro'yxatga olishlar","type":"integer","example":120},"recent_inspections":{"description":"So'nggi 30 kundagi texnik ko'riklar","type":"integer","example":95}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"500":{"description":"Ichki server xatosi \u2014 statistikani hisoblashda muammo"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/search\/{query}":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Tez qidirish","description":"Dvigatel raqami, shassi raqami yoki davlat raqami bo'yicha tez qidirish. Maksimum 20 ta natija qaytaradi. Forma ichidagi avtoto'ldirish (autocomplete) yoki tez qidirish paneli uchun ishlatiladi.","operationId":"d36e5c47174fee9c3a2f03b2cacdca41","parameters":[{"name":"query","in":"path","description":"Qidirish so'zi \u2014 dvigatel, shassi yoki davlat raqamining bir qismi","required":true,"schema":{"type":"string","example":"ENG123"}}],"responses":{"200":{"description":"Qidirish natijalari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleResource"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Transport vosita topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita ma'lumotlari","description":"Bitta transport vosita haqida to'liq ma'lumot \u2014 texnik xususiyatlar, egasi, brend, rang, yoqilg'i turi, hujjatlar (texnik pasport, sertifikat, davlat raqami), texnik ko'rik holati, TM-1, taqiq holati va boshqa barcha bog'liq ma'lumotlar. Texnikaning batafsil sahifasini ko'rsatish uchun ishlatiladi.","operationId":"95d9aab5a50bf8866ba0376f959e969b","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Transport vosita ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositani yangilash","description":"Mavjud transport vositaning ma'lumotlarini yangilash. Faqat uzatilgan maydonlar yangilanadi (partial update). Egasi, brend, rang, dvigatel\/shassi raqamlari, holat va boshqa texnik xususiyatlarni o'zgartirish mumkin.","operationId":"563d33edac3efa48ff42d95cf5675a29","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"owner_id":{"description":"Yangi egasi (mijoz) ID raqami","type":"integer","example":1},"vehicle_brand_id":{"description":"Texnika brendi ID raqami","type":"integer","example":1},"color_id":{"description":"Rang ID raqami","type":"integer","example":1},"engine_no":{"description":"Dvigatel raqami","type":"string","example":"ENG123456"},"chassis_no":{"description":"Shassi raqami","type":"string","example":"CHS123456"},"condition":{"description":"Texnika holati","type":"string","example":"new","enum":["new","used"]}},"type":"object"}}}},"responses":{"200":{"description":"Transport vosita muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Transport vosita muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositani o'chirish","description":"Transport vositani tizimdan o'chirish (soft delete). O'chirilgan texnika keyinchalik tiklanishi mumkin. Faqat tegishli ruxsati bo'lgan foydalanuvchi o'chira oladi.","operationId":"089c5072d28ec10d9428dbe35a3dbc9f","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Transport vosita muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Transport vosita muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/engine\/{engineNo}":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Dvigatel raqami bo'yicha qidirish","description":"Dvigatel raqami bo'yicha aniq bitta transport vositani topish. Ro'yxatga olish jarayonida dvigatel raqami orqali texnikani aniqlash uchun ishlatiladi. Aniq qidiruv \u2014 qisman mos kelish qo'llanilmaydi.","operationId":"6e5caf8e9b8ce3fb2981ffa088b84f43","parameters":[{"name":"engineNo","in":"path","description":"Dvigatel raqami (to'liq)","required":true,"schema":{"type":"string","example":"ABC123456"}}],"responses":{"200":{"description":"Transport vosita topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Berilgan dvigatel raqamiga mos transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Transport vosita topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/chassis\/{chassisNo}":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Shassi raqami bo'yicha qidirish","description":"Shassi raqami bo'yicha aniq bitta transport vositani topish. Ro'yxatga olish jarayonida shassi raqami orqali texnikani aniqlash uchun ishlatiladi. Aniq qidiruv \u2014 qisman mos kelish qo'llanilmaydi.","operationId":"32a54ff43835af0cc5573e7d7d36f168","parameters":[{"name":"chassisNo","in":"path","description":"Shassi raqami (to'liq)","required":true,"schema":{"type":"string","example":"XYZ789012"}}],"responses":{"200":{"description":"Transport vosita topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Berilgan shassi raqamiga mos transport vosita topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Transport vosita topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/lock":{"post":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositani bloklash","description":"Transport vositani taqiqqa olish va taqiq yozuvini yaratish. Bloklangan texnika bilan hech qanday operatsiya (ro'yxatga olish, egasini o'zgartirish, sotish) amalga oshirilmaydi. Odatda sud qarori, soliq qarzdorligi yoki boshqa huquqiy asosda qo'llaniladi. Bloklash sababi va bloklovchi tashkilot ID ko'rsatilishi mumkin.","operationId":"3260dde2c595a8dd4407f866bcea5e52","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Bloklash sababi \u2014 nima uchun texnika taqiqqa olinayotgani","type":"string","example":"Sud qarori asosida bloklash"},"locker_id":{"description":"Bloklovchi tashkilot ID raqami (masalan, MIB, sud)","type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Transport vosita muvaffaqiyatli bloklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Transport vosita bloklandi"},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/unlock":{"post":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vositani blokdan chiqarish","description":"Transport vositani taqiqdan chiqarish va barcha faol taqiqlarni bekor qilish. Blokdan chiqarilgan texnika bilan yana barcha operatsiyalarni bajarish mumkin bo'ladi. Odatda sud qarorining bekor qilinishi yoki qarzdorlikning to'lanishi asosida qo'llaniladi.","operationId":"c65c0848b71b0b4d747fba9a75f04cb5","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"description":"Blokdan chiqarish sababi","type":"string","example":"Sud qarori bekor qilindi"}},"type":"object"}}}},"responses":{"200":{"description":"Transport vosita muvaffaqiyatli blokdan chiqarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Transport vosita blokdan chiqarildi"},"data":{"$ref":"#\/components\/schemas\/VehicleResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/prohibition":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Taqiq mavjudligini tekshirish","description":"Transport vositaning hozirda taqiqda yoki yo'qligini tekshirish. Barcha faol taqiqlar ro'yxati, taqiq sababi va bloklovchi tashkilot ma'lumotlari qaytariladi. Ro'yxatga olish yoki egasini o'zgartirish oldidan texnikaning taqiqda emasligini tekshirish uchun ishlatiladi.","operationId":"07077c97f8800fcbe1632ebe014df248","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Taqiq holati muvaffaqiyatli tekshirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"has_prohibition":{"description":"Faol taqiq mavjudligi","type":"boolean","example":false},"vehicle_id":{"description":"Transport vosita ID raqami","type":"integer","example":1},"engine_no":{"description":"Dvigatel raqami","type":"string","example":"AB12345","nullable":true},"active_prohibitions":{"description":"Faol taqiqlar ro'yxati","type":"array","items":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/documents":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita hujjatlari","description":"Transport vositaga tegishli barcha hujjatlar \u2014 davlat raqami, texnik pasport, sertifikat, ro'yxatga olish, texnik ko'rik va TM-1 ma'lumotnoma. Har bir hujjat turi uchun faol hujjat, oxirgi hujjat va tarix (so'nggi 5-10 ta) qaytariladi. Texnikaning hujjatlar sahifasini ko'rsatish uchun ishlatiladi.","operationId":"d83bc2ccdb7e40cb59d2e7e2037908f2","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Hujjatlar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"transport_number":{"description":"Davlat raqami ma'lumotlari","properties":{"active":{"description":"Faol davlat raqami","type":"object","nullable":true},"last":{"description":"Oxirgi davlat raqami","type":"object","nullable":true},"history":{"description":"Davlat raqamlari tarixi (so'nggi 5 ta)","type":"array","items":{"type":"object"}}},"type":"object"},"technical_passport":{"description":"Texnik pasport ma'lumotlari","type":"object"},"certificate":{"description":"Sertifikat ma'lumotlari","type":"object"},"registration":{"description":"Ro'yxatga olish ma'lumotlari","type":"object"},"inspection":{"description":"Texnik ko'rik ma'lumotlari","type":"object"},"tm":{"description":"TM-1 ma'lumotnoma","type":"object"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/history":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita tarixi","description":"Transport vosita ustida bajarilgan barcha amaliyotlar tarixi \u2014 yaratilish, yangilanish, bloklash, blokdan chiqarish, egasi o'zgarishi va boshqalar. Spatie Activity Log orqali kuzatiladi. Audit va nazorat uchun ishlatiladi.","operationId":"a87d6af36597338b8377e62b12e22bab","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":20}}],"responses":{"200":{"description":"Tarix muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan faoliyat yozuvlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/owners":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita egalari tarixi","description":"Transport vositaning hozirgi egasi va oldingi barcha egalari tarixi. Ro'yxatga olish yozuvlari orqali egalar tarixini kuzatish imkonini beradi. Har bir egasi uchun ro'yxatga olish sanasi, turi va holati ko'rsatiladi.","operationId":"1f3bbddd992ea661ea20f6226322e515","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Egalar tarixi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"current_owner":{"description":"Hozirgi egasi","type":"object","nullable":true},"history":{"description":"Oldingi egalar tarixi","type":"array","items":{"properties":{"customer":{"description":"Egasi ma'lumotlari","type":"object"},"registration_date":{"description":"Ro'yxatga olish sanasi","type":"string","format":"date-time"},"type":{"description":"Ro'yxatga olish turi","type":"string"},"status":{"description":"Ro'yxatga olish holati","type":"string"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/inspections":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita texnik ko'riklari","description":"Transport vositaning barcha texnik ko'riklari tarixi \u2014 majburiy va umumiy ko'riklar. Har bir ko'rik uchun inspektor, hudud, sana, holat va natija ko'rsatiladi. Texnikaning texnik ko'rik sahifasini ko'rsatish uchun ishlatiladi.","operationId":"236dbc3affee0bedfe0a8170b9c3dcac","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":10}}],"responses":{"200":{"description":"Texnik ko'riklar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan texnik ko'rik yozuvlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/registrations":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita ro'yxatga olishlari","description":"Transport vositaning barcha ro'yxatga olish tarixi \u2014 dastlabki ro'yxatga olish, qayta ro'yxatga olish, egasi o'zgarishi. Har bir yozuv uchun mijoz, hudud, sana va holat ko'rsatiladi.","operationId":"bb3a0f75b6dc1885f1df0d1dab724256","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":10}}],"responses":{"200":{"description":"Ro'yxatga olishlar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan ro'yxatga olish yozuvlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/{vehicle}\/tms":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Transport vosita TM-1 ma'lumotnomalar","description":"Transport vositaga berilgan barcha TM-1 ma'lumotnomalar tarixi. TM-1 \u2014 texnik holatni tasdiqlovchi hujjat. Har bir yozuv uchun mijoz, hudud, sana va holat ko'rsatiladi.","operationId":"eb976cd5b77f26a366688e4d1df6df79","parameters":[{"name":"vehicle","in":"path","description":"Transport vosita ID raqami","required":true,"schema":{"type":"integer","example":1}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":10}}],"responses":{"200":{"description":"TM-1 ma'lumotnomalar muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan TM-1 yozuvlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/check\/{identifier}":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Identifikator mavjudligini tekshirish","description":"Dvigatel yoki shassi raqamining tizimda allaqachon ro'yxatdan o'tganligini tekshirish. Yangi texnika yaratish yoki tahrirlash formasida dublikat identifikatorlarni oldini olish uchun ishlatiladi. exclude_id parametri bilan o'zini tekshiruvdan chiqarish mumkin (tahrirlashda).","operationId":"ae539a4481c3d2240c2e56fcb14b1dcf","parameters":[{"name":"identifier","in":"path","description":"Tekshiriladigan identifikator qiymati (dvigatel yoki shassi raqami)","required":true,"schema":{"type":"string","example":"ENG123456"}},{"name":"type","in":"query","description":"Identifikator turi \u2014 dvigatel yoki shassi raqami","required":true,"schema":{"type":"string","enum":["engine_no","chassis_no"]}},{"name":"exclude_id","in":"query","description":"Istisno qilinadigan transport vosita ID (tahrirlashda o'z ID sini chiqarish uchun)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Tekshirish natijasi muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"exists":{"description":"Identifikator mavjudligi","type":"boolean","example":false},"type":{"description":"Identifikator turi","type":"string","example":"engine_no"},"identifier":{"description":"Tekshirilgan qiymat","type":"string","example":"ENG123456"},"vehicle":{"description":"Topilgan transport vosita (agar mavjud bo'lsa)","type":"object","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi \u2014 type parametri noto'g'ri"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/expiring-inspections":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Texnik ko'rigi tugayotgan transport vositalar","description":"Texnik ko'rik muddati belgilangan kunlar ichida tugayotgan transport vositalar ro'yxati. Standart 30 kun, days parametri bilan o'zgartirish mumkin. Ogohlantirish paneli yoki hisobotlar uchun ishlatiladi \u2014 muddati tugashidan oldin texnik ko'rikni o'tkazishni rejalashtirish imkonini beradi.","operationId":"2b27e2fcea66a21ee49e42b063127b8e","parameters":[{"name":"days","in":"query","description":"Necha kun ichida tugayotganlarni ko'rsatish (standart 30 kun)","schema":{"type":"integer","default":30}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Texnik ko'rigi tugayotgan texnikalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan transport vositalar ro'yxati","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicles\/expired-inspections":{"get":{"tags":["Agroteh Service","Texnikalar"],"summary":"Texnik ko'rigi tugagan transport vositalar","description":"Texnik ko'rik muddati allaqachon o'tib ketgan transport vositalar ro'yxati. Bu texnikalar bilan ishlash cheklangan bo'lishi mumkin. Muddati o'tgan ko'riklarni kuzatish va nazorat qilish uchun ishlatiladi.","operationId":"25893978fc7f28ba1f824aaca685e5b9","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":15}}],"responses":{"200":{"description":"Texnik ko'rigi tugagan texnikalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"description":"Sahifalangan transport vositalar ro'yxati","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-lockers":{"get":{"tags":["Agroteh Service","Texnika qulflovchilar"],"summary":"Qulflovchi tashkilotlar ro'yxati","description":"Texnikaga taqiq qo'yuvchi tashkilotlar ro'yxatini olish. Qidiruv, faollik holati bo'yicha filtrlash va sahifalash mumkin.","operationId":"73e72b3a065b4df5d65e8435644712fb","parameters":[{"name":"search","in":"query","description":"Tashkilot nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtrlash (true=faol, false=nofaol)","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Qulflovchi tashkilotlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleLockerResource"}},"message":{"type":"string","example":"Muvaffaqiyatli"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnika qulflovchilar"],"summary":"Yangi qulflovchi tashkilot qo'shish","description":"Texnikaga taqiq qo'yuvchi yangi tashkilotni tizimga qo'shish.","operationId":"3e791272e745ca321f07f086a441c38c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Tashkilot nomi","type":"string","example":"Ichki ishlar vazirligi","maxLength":255}},"type":"object"}}}},"responses":{"201":{"description":"Qulflovchi tashkilot muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleLockerResource"},"message":{"type":"string","example":"Tashkilot yaratildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-lockers\/{vehicleLocker}":{"get":{"tags":["Agroteh Service","Texnika qulflovchilar"],"summary":"Qulflovchi tashkilot ma'lumotlari","description":"Bitta qulflovchi tashkilotning to'liq ma'lumotlarini olish.","operationId":"6b2d2742837258c547cd72396e42c15d","parameters":[{"name":"vehicleLocker","in":"path","description":"Qulflovchi tashkilot ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Qulflovchi tashkilot ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleLockerResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Qulflovchi tashkilot topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Qulflovchi tashkilot topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnika qulflovchilar"],"summary":"Qulflovchi tashkilotni yangilash","description":"Mavjud qulflovchi tashkilot ma'lumotlarini tahrirlash.","operationId":"7a2fac142063805f2a9e5960aae046c0","parameters":[{"name":"vehicleLocker","in":"path","description":"Qulflovchi tashkilot ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Tashkilot nomi","type":"string","example":"Ichki ishlar vazirligi","maxLength":255}},"type":"object"}}}},"responses":{"200":{"description":"Qulflovchi tashkilot muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleLockerResource"},"message":{"type":"string","example":"Tashkilot yangilandi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Qulflovchi tashkilot topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Qulflovchi tashkilot topilmadi"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Texnika qulflovchilar"],"summary":"Qulflovchi tashkilotni o'chirish","description":"Qulflovchi tashkilotni tizimdan o'chirish.","operationId":"9d0aa269b3ba3b1b895bcac9b8ae399a","parameters":[{"name":"vehicleLocker","in":"path","description":"Qulflovchi tashkilot ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Qulflovchi tashkilot muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Tashkilot o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Avtorizatsiyadan o'tilmagan"}},"type":"object"}}}},"404":{"description":"Qulflovchi tashkilot topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Qulflovchi tashkilot topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Taqiqlar ro'yxati (locklist)","description":"Barcha texnika taqiqlari ro'yxatini filtrlash imkoniyati bilan olish (uzagroteh-main vehicle_lock bilan bir xil)","operationId":"bfb5de4b99820474c49087e680e6a3b1","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni","schema":{"type":"integer","default":50}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Qidirish (PINFL, INN, FIO, buyruq raqami)","schema":{"type":"string"}},{"name":"vehicle_id","in":"query","description":"Transport vosita ID","schema":{"type":"integer"}},{"name":"owner_id","in":"query","description":"Egasi (mijoz) ID","schema":{"type":"integer"}},{"name":"locker_id","in":"query","description":"Taqiq qo'yuvchi tashkilot ID","schema":{"type":"integer"}},{"name":"action","in":"query","description":"Amal turi (lock\/unlock)","schema":{"type":"string","enum":["lock","unlock"]}},{"name":"status","in":"query","description":"Holat","schema":{"type":"string","enum":["active","inactive"]}},{"name":"from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"only_locked","in":"query","description":"Faqat taqiqdagi (faol lock)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"meta":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/statistics":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Taqiqlar statistikasi","description":"Texnika taqiqlari bo'yicha statistika","operationId":"3d8b4624c21ce09ebad21ec048fad678","parameters":[{"name":"from","in":"query","description":"Boshlanish sanasi","schema":{"type":"string","format":"date"}},{"name":"till","in":"query","description":"Tugash sanasi","schema":{"type":"string","format":"date"}},{"name":"region_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"total":{"type":"integer"},"active":{"type":"integer"},"inactive":{"type":"integer"},"locked":{"type":"integer"},"unlocked":{"type":"integer"},"by_locker":{"type":"array","items":{"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/lock":{"post":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Texnikani taqiqqa olish","description":"Transport vositani taqiqqa olish (uzagroteh-main lockstore action=lock bilan bir xil)","operationId":"6bc55869e0b959101f14cd0bd95038ec","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["vehicle_id","locker_id","date"],"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"locker_id":{"description":"Taqiq qo'yuvchi tashkilot ID","type":"integer","example":1},"date":{"type":"string","format":"date","example":"2024-01-15"},"reason":{"description":"Taqiq sababi","type":"string","example":"Texnik ko'rikdan o'tmagan"},"note":{"description":"Izoh","type":"string","example":"Taqiq qo'yildi"},"order_number":{"description":"Buyruq raqami","type":"string","example":"BRQ-2024-001234"},"order_date":{"description":"Buyruq sanasi","type":"string","format":"date","example":"2024-01-10"},"letter_number":{"description":"Xat raqami","type":"string","example":"XAT-2024-005678"},"letter_date":{"description":"Xat sanasi","type":"string","format":"date","example":"2024-01-12"},"external_ban_id":{"description":"Tashqi tizim taqiq ID","type":"integer","example":1},"reason_file":{"description":"Sabab fayli (PDF, JPG, JPEG, PNG, max 5MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Texnika taqiqqa olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika taqiqqa olindi"},"data":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"400":{"description":"Allaqachon taqiqda"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/{vehicleProhibition}\/unlock":{"post":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Texnikani taqiqdan chiqarish","description":"Transport vositani taqiqdan chiqarish (uzagroteh-main lockstore action=unlock bilan bir xil)","operationId":"0ca979a4935cb7ad4d30f1fdae4ad615","parameters":[{"name":"vehicleProhibition","in":"path","description":"Taqiq ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"date":{"type":"string","format":"date","example":"2024-02-01"},"note":{"type":"string","example":"Taqiq olib tashlandi"},"order_number":{"type":"string","example":"BRQ-2024-001234"},"order_date":{"type":"string","format":"date","example":"2024-01-28"},"letter_number":{"type":"string","example":"XAT-2024-005678"},"letter_date":{"type":"string","format":"date","example":"2024-01-30"}},"type":"object"}}}},"responses":{"200":{"description":"Texnika taqiqdan chiqarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika taqiqdan chiqarildi"},"data":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"type":"object"}}}},"404":{"description":"Taqiq topilmadi"},"400":{"description":"Taqiqni olib bo'lmaydi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/{vehicleProhibition}":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Taqiq ma'lumotlari","description":"Bitta taqiq haqida to'liq ma'lumot","operationId":"5683a793a4936ccb3bcc63618f06c889","parameters":[{"name":"vehicleProhibition","in":"path","description":"Taqiq ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"type":"object"}}}},"404":{"description":"Taqiq topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Taqiqni yangilash","description":"Taqiq ma'lumotlarini yangilash","operationId":"82c6dd6d833b7d44e842b94a41424f07","parameters":[{"name":"vehicleProhibition","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"reason":{"type":"string","example":"Texnik ko'rikdan o'tmagan"},"note":{"type":"string","example":"Taqiq qo'yildi"},"order_number":{"type":"string","example":"BRQ-2024-001234"},"order_date":{"type":"string","format":"date","example":"2024-01-10"},"letter_number":{"type":"string","example":"XAT-2024-005678"},"letter_date":{"type":"string","format":"date","example":"2024-01-12"}},"type":"object"}}}},"responses":{"200":{"description":"Taqiq yangilandi"},"404":{"description":"Taqiq topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Taqiqni o'chirish","description":"Taqiq yozuvini o'chirish","operationId":"de439337e54ecb622cb489e9aeeab5c9","parameters":[{"name":"vehicleProhibition","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Taqiq o'chirildi"},"404":{"description":"Taqiq topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/check-vehicle\/{vehicleId}":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Transport vositaning taqiq holatini tekshirish","description":"Transport vositaning taqiqda yoki yo'qligini tekshirish","operationId":"f3965750ea17ef6b251922935aae38d8","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"is_locked":{"type":"boolean"},"active_locks_count":{"type":"integer"},"active_locks":{"type":"array","items":{"type":"object"}},"lockers":{"type":"array","items":{"type":"object"}},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Transport vosita topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/vehicle\/{vehicleId}\/history":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Transport vositaning taqiqlar tarixi","description":"Transport vositaning barcha taqiqlari tarixi","operationId":"9a67f0839e8966310abc6cfae2bba202","parameters":[{"name":"vehicleId","in":"path","description":"Transport vosita ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean"},"data":{"properties":{"prohibitions":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"statistics":{"type":"object"}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-prohibitions\/customer\/{customerId}\/history":{"get":{"tags":["Agroteh Service","Texnika taqiqlari"],"summary":"Mijozning taqiqlar tarixi","description":"Mijozning barcha transport vositalari taqiqlari tarixi va statistikasi","operationId":"cebf0e9e7fb8b1f77bbd4f9977dc5ac3","parameters":[{"name":"customerId","in":"path","description":"Mijoz ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean"},"data":{"properties":{"prohibitions":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleProhibitionResource"}},"statistics":{"type":"object"}},"type":"object"}},"type":"object"}}}},"404":{"description":"Mijoz topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-types":{"get":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turlari ro'yxati","description":"Barcha texnika turlari ro'yxatini olish. Qidiruv, kategoriya va faollik filtri, sahifalash mavjud. `per_page=-1` bo'lsa barcha texnika turlari qaytadi (dropdown uchun).","operationId":"e858a7a55880a40abb392707b99d72b3","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string","example":"Traktor"}},{"name":"category_id","in":"query","description":"Kategoriya bo'yicha filtr: 1=QX, 2=Melioratsiya, 3=Yo'l-qurilish, 4=Jihoz","schema":{"type":"integer","enum":[1,2,3,4]}},{"name":"is_active","in":"query","description":"Faollik bo'yicha filtr","schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Texnika turlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/VehicleTypeResponse"}},"meta":{"description":"Sahifalash (per_page=-1 da yo'q)","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Yangi texnika turi qo'shish","description":"Yangi texnika turini yaratish. Nom majburiy. Kategoriya, Qurilish vazirligi va E-Auksion IDlari ixtiyoriy.","operationId":"12c86e5af86a859bfdbd5b7c3b9469e5","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Texnika turi nomi","type":"string","example":"Traktor","maxLength":255},"code":{"description":"Texnika turi kodi (ixtiyoriy)","type":"string","example":"TRK","nullable":true,"maxLength":50},"minstroy_id":{"description":"Qurilish vazirligi IDsi","type":"integer","example":1,"nullable":true},"auction_id":{"description":"E-Auksion IDsi","type":"integer","example":1,"nullable":true},"category_id":{"description":"Kategoriya: 1=QX, 2=Melioratsiya, 3=Yo'l-qurilish, 4=Jihoz","type":"integer","example":1,"nullable":true,"enum":[1,2,3,4]}},"type":"object"}}}},"responses":{"201":{"description":"Texnika turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika turi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/VehicleTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-types\/{vehicleType}":{"get":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turi ma'lumotlari","description":"Bitta texnika turining to'liq ma'lumotlarini olish.","operationId":"d38d4455383975c25d2030011f348db5","parameters":[{"name":"vehicleType","in":"path","description":"Texnika turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnika turi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/VehicleTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turini yangilash","description":"Mavjud texnika turi ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"bd2ee2c16fdb0c03de9e6ba987291026","parameters":[{"name":"vehicleType","in":"path","description":"Texnika turi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Texnika turi nomi","type":"string","example":"Traktor","maxLength":255},"code":{"description":"Texnika turi kodi","type":"string","example":"TRK","maxLength":50},"minstroy_id":{"description":"Qurilish vazirligi IDsi","type":"integer","example":1},"auction_id":{"description":"E-Auksion IDsi","type":"integer","example":1},"category_id":{"description":"Kategoriya: 1=QX, 2=Melioratsiya, 3=Yo'l-qurilish, 4=Jihoz","type":"integer","example":1,"enum":[1,2,3,4]}},"type":"object"}}}},"responses":{"200":{"description":"Texnika turi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika turi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/VehicleTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika turi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turini o'chirish","description":"Texnika turini o'chirish. Agar texnika turiga tegishli texnikalar mavjud bo'lsa, avval ularni boshqa turga o'tkazish kerak. Tegishli brendlar ham o'chiriladi.","operationId":"369f3d0707369c434d66cab900c5d8f0","parameters":[{"name":"vehicleType","in":"path","description":"Texnika turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnika turi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnika turi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika turi topilmadi"},"422":{"description":"Texnika turiga tegishli texnikalar mavjud \u2014 o'chirib bo'lmaydi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-types\/{vehicleType}\/brands":{"get":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turi brendlari","description":"Tanlangan texnika turiga tegishli barcha faol brendlar ro'yxati. Texnika ro'yxatga olishda brend tanlash uchun ishlatiladi.","operationId":"82b7552e680fc32d74fe4aaeb537758c","parameters":[{"name":"vehicleType","in":"path","description":"Texnika turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnika turi brendlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/vehicle-types\/{vehicleType}\/working-types":{"get":{"tags":["Agroteh Service","Texnika turlari"],"summary":"Texnika turi ish turlari","description":"Tanlangan texnika turiga tegishli barcha faol ish turlari ro'yxati. Texnika ro'yxatga olishda ish turini tanlash uchun ishlatiladi.","operationId":"461a7f794901bb79edc2dc10dc939811","parameters":[{"name":"vehicleType","in":"path","description":"Texnika turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnika turi ish turlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Texnika turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/working-types":{"get":{"tags":["Agroteh Service","Ish turlari"],"summary":"Ish turlari ro'yxati","description":"Barcha ish turlarini olish. Nomi yoki texnika turi bo'yicha filtrlash mumkin. Natijalar oxirgisidan boshlab tartiblangan.","operationId":"fb4c9babab651cd219602114f4099878","parameters":[{"name":"search","in":"query","description":"Ish turi nomini qidirish (qisman mos kelishi mumkin)","required":false,"schema":{"type":"string","example":"Yuqori"}},{"name":"type_id","in":"query","description":"Texnika turi IDsi bo'yicha filtrlash (tbl_vehicle_types.id)","required":false,"schema":{"type":"integer","example":23}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Ish turlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/WorkingTypeResource"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Agroteh Service","Ish turlari"],"summary":"Yangi ish turi qo'shish","description":"Yangi ish turini yaratish. Texnika turlari ro'yxatini \/api\/v1\/working-types\/create endpointidan olish mumkin.","operationId":"fc7fd376383b0750c3017ec3fae63155","requestBody":{"description":"Yangi ish turi ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"required":["workingtype","type"],"properties":{"workingtype":{"description":"Ish turi nomi","type":"string","example":"Yuqori unumli"},"type":{"description":"Texnika turi IDsi (tbl_vehicle_types.id). Masalan: 23=Traktor, 29=Kombayn. To'liq ro'yxat: GET \/api\/v1\/working-types\/create","type":"integer","example":23},"e_urug":{"description":"E-Urug' tizimidagi mos ID","type":"integer","example":1,"nullable":true},"report":{"description":"Hisobot tizimidagi mos ID","type":"integer","example":2,"nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Ish turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/WorkingTypeResource"},"message":{"type":"string","example":"Ish turi yaratildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/working-types\/create":{"get":{"tags":["Agroteh Service","Ish turlari"],"summary":"Ish turi qo'shish formasi uchun ma'lumotlar","description":"Yangi ish turi qo'shish formasida kerak bo'ladigan ma'lumotlar: texnika turlari ro'yxati.","operationId":"27a030b772c2fe597ae1c4dd90bbbe8e","responses":{"200":{"description":"Forma ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"title":{"description":"Forma sarlavhasi","type":"string","example":"Ish turi qo'shish"},"types":{"description":"Texnika turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":23},"name":{"type":"string","example":"Traktor"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/working-types\/{workingType}":{"get":{"tags":["Agroteh Service","Ish turlari"],"summary":"Ish turi ma'lumotlari","description":"Bitta ish turining to'liq ma'lumotlarini ko'rish. Tahrirlash formasi uchun texnika turlari ro'yxati ham qaytariladi.","operationId":"ded59df1f35dd536501946f8bb864d21","parameters":[{"name":"workingType","in":"path","description":"Ish turi IDsi (vehicle_works_fors.id)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ish turi ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"item":{"$ref":"#\/components\/schemas\/WorkingTypeResource"},"types":{"description":"Texnika turlari ro'yxati","type":"array","items":{"properties":{"id":{"type":"integer","example":23},"name":{"type":"string","example":"Traktor"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Ish turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Agroteh Service","Ish turlari"],"summary":"Ish turini yangilash","description":"Mavjud ish turini tahrirlash. Barcha majburiy maydonlar yuborilishi kerak.","operationId":"f25bd2efcc2365b9d0c616477ab6dff7","parameters":[{"name":"workingType","in":"path","description":"Ish turi IDsi (vehicle_works_fors.id)","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"description":"Yangilangan ish turi ma'lumotlari","required":true,"content":{"application\/json":{"schema":{"required":["working","type"],"properties":{"working":{"description":"Ish turi nomi","type":"string","example":"Yuqori unumli"},"type":{"description":"Texnika turi IDsi (tbl_vehicle_types.id)","type":"integer","example":23},"e_urug":{"description":"E-Urug' tizimidagi mos ID","type":"integer","example":1,"nullable":true},"report":{"description":"Hisobot tizimidagi mos ID","type":"integer","example":2,"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Ish turi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/WorkingTypeResource"},"message":{"type":"string","example":"Ish turi yangilandi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Ish turi topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 kiritilgan ma'lumotlar noto'g'ri","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Agroteh Service","Ish turlari"],"summary":"Ish turini o'chirish","description":"Ish turini tizimdan o'chirish. Agar ish turiga bog'langan brendlar mavjud bo'lsa, o'chirish mumkin emas.","operationId":"29c897ad3fad243cccfdbeb7060ec947","parameters":[{"name":"workingType","in":"path","description":"Ish turi IDsi (vehicle_works_fors.id)","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ish turi muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Ish turi o'chirildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya xatosi \u2014 token yaroqsiz yoki muddati tugagan"},"404":{"description":"Ish turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"YIDXP arizalar ro'yxati","description":"EPIGU (my.gov.uz) platformasi orqali kelgan barcha arizalar ro'yxatini olish. Xizmat turi, holati, qidiruv so'zi, sana oralig'i, viloyat va tuman bo'yicha filtrlash mumkin. Sahifalash qo'llab-quvvatlanadi.","operationId":"63edf723cdb6aaee8bb9f3323563737c","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (max 100, default 15)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"service_target","in":"query","description":"Xizmat turi: 1-yangi ro'yxatga olish, 2-qayta ro'yxatga olish, 3-vaqtinchalik ro'yxat, 4-hisobdan chiqarish, 5-ma'lumotnoma, 6-texnik ko'rik","schema":{"type":"integer"}},{"name":"task_status","in":"query","description":"Ariza holati bo'yicha filtrlash","schema":{"type":"string","enum":["new","accepted","processed","paid","rejected","finished"]}},{"name":"search","in":"query","description":"EPIGU task ID, PINFL yoki INN bo'yicha qidirish","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"region_soato","in":"query","description":"Viloyat SOATO kodi bo'yicha filtrlash","schema":{"type":"integer"}},{"name":"district_soato","in":"query","description":"Tuman SOATO kodi bo'yicha filtrlash","schema":{"type":"integer"}}],"responses":{"200":{"description":"Arizalar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"meta":{"description":"Sahifalash ma'lumotlari","type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/statistics":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"YIDXP arizalar statistikasi","description":"EPIGU arizalari bo'yicha umumiy statistikani olish: holat va xizmat turi bo'yicha guruhlangan hisoblar. Xizmat turi va sana oralig'i bo'yicha filtrlash mumkin.","operationId":"331a90142b45ac767800879544fb4f28","parameters":[{"name":"service_target","in":"query","description":"Xizmat turi bo'yicha filtrlash (1-6)","schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Statistika muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/YidxpStatisticsResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/pending":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Kutilayotgan arizalar","description":"Har bir xizmat turi bo'yicha hali yakunlanmagan (yangi, qabul qilingan, ko'rib chiqilayotgan) arizalar sonini olish. Dashboard uchun qulay endpoint.","operationId":"25214a1b1c07fdf501d8982bed1f1085","responses":{"200":{"description":"Kutilayotgan arizalar soni muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/YidxpPendingResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Ariza batafsil ma'lumotlari","description":"Bitta EPIGU arizasining to'liq ma'lumotlarini olish: arizachi, texnika, to'lov, hududiy va boshqa barcha ma'lumotlar.","operationId":"a38c4313c6bdb5cefd93d89f6542e417","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/webhook\/create":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"EPIGU webhook \u2014 yangi ro'yxatga olish arizasi","description":"EPIGU tizimidan yangi ro'yxatga olish arizasi kelganda avtomatik chaqiriladigan webhook endpoint (service_target=1). Agar ariza allaqachon mavjud bo'lsa, to'lov holati yangilanadi.","operationId":"e10be3639a2af6d4b75b181793da1e85","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id"],"properties":{"task_id":{"description":"EPIGU tizimidagi task identifikatori","type":"string","example":"EPIGU-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Webhook muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"error_code":{"type":"integer","example":0},"error_msg":{"type":"string","example":null,"nullable":true}},"type":"object"}}}}}}},"\/api\/v1\/yidxp-applications\/webhook\/temporary":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"EPIGU webhook \u2014 vaqtinchalik ro'yxat arizasi","description":"EPIGU tizimidan vaqtinchalik ro'yxatga olish arizasi kelganda avtomatik chaqiriladigan webhook endpoint (service_target=3).","operationId":"ead5ae8120772535565dcac8016e12ab","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id"],"properties":{"task_id":{"description":"EPIGU tizimidagi task identifikatori","type":"string","example":"EPIGU-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Webhook muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"error_code":{"type":"integer","example":0},"error_msg":{"type":"string","example":null,"nullable":true}},"type":"object"}}}}}}},"\/api\/v1\/yidxp-applications\/webhook\/unregister":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"EPIGU webhook \u2014 hisobdan chiqarish arizasi","description":"EPIGU tizimidan texnikani hisobdan chiqarish arizasi kelganda avtomatik chaqiriladigan webhook endpoint (service_target=4).","operationId":"c8671f283467245ec1a3884ee0bacafc","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id"],"properties":{"task_id":{"description":"EPIGU tizimidagi task identifikatori","type":"string","example":"EPIGU-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Webhook muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"error_code":{"type":"integer","example":0},"error_msg":{"type":"string","example":null,"nullable":true}},"type":"object"}}}}}}},"\/api\/v1\/yidxp-applications\/webhook\/reference":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"EPIGU webhook \u2014 ma'lumotnoma arizasi","description":"EPIGU tizimidan ma'lumotnoma olish arizasi kelganda avtomatik chaqiriladigan webhook endpoint (service_target=5).","operationId":"f76b807f7949631bc95c67c74c0b79d6","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id"],"properties":{"task_id":{"description":"EPIGU tizimidagi task identifikatori","type":"string","example":"EPIGU-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Webhook muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"error_code":{"type":"integer","example":0},"error_msg":{"type":"string","example":null,"nullable":true}},"type":"object"}}}}}}},"\/api\/v1\/yidxp-applications\/webhook\/inspection":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"EPIGU webhook \u2014 texnik ko'rik arizasi","description":"EPIGU tizimidan texnik ko'rik uchun ariza kelganda avtomatik chaqiriladigan webhook endpoint (service_target=6).","operationId":"dfda02a16cdc67a68b9b35f00fccc5fe","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["task_id"],"properties":{"task_id":{"description":"EPIGU tizimidagi task identifikatori","type":"string","example":"EPIGU-2024-001234"}},"type":"object"}}}},"responses":{"200":{"description":"Webhook muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"error_code":{"type":"integer","example":0},"error_msg":{"type":"string","example":null,"nullable":true}},"type":"object"}}}}}}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/accept":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Arizani qabul qilish","description":"Yangi kelgan EPIGU arizasini qabul qilish. Faqat \"new\" holatidagi arizalar qabul qilinishi mumkin. EPIGU tizimiga qabul qilish haqida xabar yuboriladi.","operationId":"31c8aa7756cf8e80aa4a3517a556d7d8","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza qabul qilindi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 ariza holati mos emas yoki EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/reject":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Arizani rad etish","description":"EPIGU arizasini rad etish. Rad etish sababi ko'rsatilishi shart. EPIGU tizimiga rad etish haqida xabar yuboriladi va arizachi xabardor qilinadi.","operationId":"4be7df1f73ee0a2deac472ff9d4201a1","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["reason"],"properties":{"reason":{"description":"Rad etish sababi","type":"string","example":"Hujjatlar to'liq emas"}},"type":"object"}}}},"responses":{"200":{"description":"Ariza muvaffaqiyatli rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza rad etildi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 rad etish sababi ko'rsatilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/payment":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"To'lovga chiqarish","description":"Qabul qilingan arizani to'lovga chiqarish. To'lov summasi va ixtiyoriy izoh ko'rsatiladi. EPIGU tizimiga to'lov xabarnomasi yuboriladi va arizachi to'lovni amalga oshirishi mumkin bo'ladi.","operationId":"ed3aabe75b212af485340e0e79064620","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["amount"],"properties":{"amount":{"description":"To'lov summasi (so'mda)","type":"number","example":150000},"comment":{"description":"To'lov uchun izoh","type":"string","example":"Ro'yxatga olish uchun to'lov"}},"type":"object"}}}},"responses":{"200":{"description":"Ariza muvaffaqiyatli to'lovga chiqarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lovga chiqarildi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 ariza holati mos emas yoki EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi \u2014 to'lov summasi ko'rsatilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/check-payment":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"To'lov holatini tekshirish","description":"EPIGU tizimidan arizachi to'lovni amalga oshirganligini tekshirish. Agar to'lov qilingan bo'lsa, ariza holati yangilanadi.","operationId":"70aab3af83038e80a5d9d27f69b2e4a9","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov holati muvaffaqiyatli tekshirildi va to'lov qabul qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov qabul qilindi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"To'lov hali qilinmagan"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/result":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Xizmat natijasini yuborish","description":"To'lov amalga oshirilgandan so'ng xizmat natijasini (guvohnoma raqami, davlat raqami va boshqalar) EPIGU tizimiga yuborish. Hisobdan chiqarish va ma'lumotnoma arizalari uchun to'lov talab qilinmaydi.","operationId":"0af17fe47dc56f1ce773cc966972daa8","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["date","cert_number"],"properties":{"date":{"description":"Ro'yxatga olish sanasi","type":"string","format":"date","example":"2024-01-01"},"cert_number":{"description":"Guvohnoma raqami","type":"string","example":"001234"},"gos_number":{"description":"Berilgan davlat raqami","type":"string","example":"01 A 123 AA"},"tech_name":{"description":"Texnika nomi","type":"string","example":"Traktor"},"tech_model":{"description":"Texnika rusumi","type":"string","example":"MX 270"}},"type":"object"}}}},"responses":{"200":{"description":"Xizmat natijasi muvaffaqiyatli yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xizmat ko'rsatildi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 to'lov qilinmagan yoki EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/accept-inspection":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Texnik ko'rik arizasini qabul qilish","description":"Texnik ko'rik (service_target=6) uchun kelgan arizani qabul qilish. Ko'rik haqida ma'lumot va inspektor ma'lumotlarini ixtiyoriy ravishda ko'rsatish mumkin. Faqat yangi holatdagi texnik ko'rik arizalari uchun ishlaydi.","operationId":"dc047053c0a37873f4315fe8cf46d70e","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"inspection_info":{"description":"Ko'rik haqida qo'shimcha ma'lumot","type":"string","example":"Texnik ko'rik o'tkaziladi"},"inspector_info":{"description":"Ko'rik o'tkazuvchi inspektor ma'lumotlari","type":"string","example":"Aliyev A.B."}},"type":"object"}}}},"responses":{"200":{"description":"Texnik ko'rik arizasi muvaffaqiyatli qabul qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik ko'rik arizasi qabul qilindi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 ariza holati mos emas, xizmat turi noto'g'ri yoki EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/inspection-result":{"post":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Texnik ko'rik natijasini yuborish","description":"Texnik ko'rik (service_target=6) natijasini EPIGU tizimiga yuborish. Ko'rik natijasi (yaroqli\/yaroqsiz) va ko'rik sanasi ko'rsatilishi shart. Faqat ko'rib chiqilayotgan (processed) holatdagi texnik ko'rik arizalari uchun ishlaydi.","operationId":"ed48c5f7b077c1bf8988b07ab61adb2b","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["inspection_status","inspection_date"],"properties":{"inspection_status":{"description":"Ko'rik natijasi (masalan: Yaroqli, Yaroqsiz)","type":"string","example":"Yaroqli"},"inspection_date":{"description":"Ko'rik o'tkazilgan sana","type":"string","format":"date","example":"2026-02-13"}},"type":"object"}}}},"responses":{"200":{"description":"Texnik ko'rik natijasi muvaffaqiyatli yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik ko'rik natijasi yuborildi"},"data":{"$ref":"#\/components\/schemas\/YidxpApplicationResponse"}},"type":"object"}}}},"400":{"description":"Xatolik \u2014 ariza holati mos emas, xizmat turi noto'g'ri yoki EPIGU tizimida xatolik"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/files\/{type}":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Hujjat fayllarini olish","description":"EPIGU arizasiga biriktirilgan hujjat fayllarining ro'yxatini olish. Fayl turlari: basic (asosiy hujjat), certificate (guvohnoma), temporary (vaqtinchalik), confirm (tasdiqlash), act (dalolatnoma), declaration (deklaratsiya), represent (vakolatnoma).","operationId":"31760e48d7e8d7ebebee7df025fb11c1","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}},{"name":"type","in":"path","description":"Hujjat turi: basic, certificate, temporary, confirm, act, declaration, represent","required":true,"schema":{"type":"string","enum":["basic","certificate","temporary","confirm","act","declaration","represent"]}}],"responses":{"200":{"description":"Fayllar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"type":{"description":"Hujjat turi","type":"string","example":"basic"},"files":{"type":"array","items":{"properties":{"path":{"description":"Fayl yo'li","type":"string"},"name":{"description":"Fayl nomi","type":"string"},"exists":{"description":"Fayl mavjudligi","type":"boolean"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Fayllar topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/appeal-pdf":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Ariza murojaati PDF","description":"EPIGU arizasi uchun murojaat hujjatini PDF formatida yaratish va yuklab olish. Hujjatda arizachi, texnika, hudud va boshqa barcha ma'lumotlar ko'rsatiladi.","operationId":"b64860744bafd42866c1737db2910367","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"PDF fayl muvaffaqiyatli yaratildi va yuklab olish boshlandi","content":{"application\/pdf":[]}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"500":{"description":"PDF yaratishda xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/{yidxpApplication}\/reference-pdf":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Ma'lumotnoma PDF","description":"Yakunlangan EPIGU arizasi uchun ma'lumotnoma hujjatini PDF formatida yaratish va yuklab olish. Faqat yakunlangan (finished) holatdagi arizalar uchun mavjud.","operationId":"8c7ce93d102430f57bfc56becfa2c6fd","parameters":[{"name":"yidxpApplication","in":"path","description":"Ariza ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ma'lumotnoma PDF muvaffaqiyatli yaratildi va yuklab olish boshlandi","content":{"application\/pdf":[]}},"400":{"description":"Ariza hali yakunlanmagan"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Ariza topilmadi"},"500":{"description":"PDF yaratishda xatolik"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/yidxp-applications\/file-download":{"get":{"tags":["Agroteh Service","YIDXP arizalar"],"summary":"Fayl yuklab olish","description":"EPIGU arizasiga biriktirilgan alohida faylni yuklab olish. Xavfsizlik sababli faqat epigu\/ papkasidagi fayllarni yuklab olish mumkin.","operationId":"f382d4c649b638723c6bd3c178b2466b","parameters":[{"name":"path","in":"query","description":"Yuklab olinadigan fayl yo'li (faqat epigu\/ papkasidan)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fayl muvaffaqiyatli yuklab olindi","content":{"application\/octet-stream":[]}},"400":{"description":"Noto'g'ri fayl yo'li \u2014 faqat epigu papkasidagi fayllar ruxsat etilgan"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications":{"get":{"tags":["Admin Service","Applications"],"summary":"Arizalar ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan arizalar ro'yxati","operationId":"53a774224a5bb97dd3d5e1c1d0055cd9","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Sarlavha bo'yicha qidirish","schema":{"type":"string"}},{"name":"asset_id","in":"query","description":"Aktiv bo'yicha filtr","schema":{"type":"integer"}},{"name":"type_id","in":"query","description":"Ariza turi bo'yicha filtr","schema":{"type":"integer"}},{"name":"status_id","in":"query","description":"Status bo'yicha filtr","schema":{"type":"integer"}},{"name":"user_id","in":"query","description":"Foydalanuvchi bo'yicha filtr","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","title","type_id","status_id","user_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Applications"],"summary":"Yangi ariza yaratish","operationId":"c8746709b6a737b932ae65fd891652ad","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["title","asset_id","type_id","status_id"],"properties":{"title":{"type":"string","example":"Jihozni ta'mirlash arizasi"},"description":{"type":"string","example":"Printer ishlamayapti","nullable":true},"asset_id":{"type":"integer","example":1},"type_id":{"type":"integer","example":1},"status_id":{"type":"integer","example":1},"user_id":{"type":"integer","example":null,"nullable":true},"deadline_date":{"type":"string","format":"date","example":"2026-04-01","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Ariza yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/ApplicationResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications\/{application}":{"get":{"tags":["Admin Service","Applications"],"summary":"Arizani ko'rish","operationId":"31160acc92874271b270a5e8211410f7","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ApplicationResource"}},"type":"object"}}}},"404":{"description":"Ariza topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Applications"],"summary":"Arizani tahrirlash","operationId":"abea4f6d9a3d4ec0ec92743ab38aad49","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"title":{"type":"string"},"description":{"type":"string","nullable":true},"asset_id":{"type":"integer"},"type_id":{"type":"integer"},"status_id":{"type":"integer"},"user_id":{"type":"integer","nullable":true},"deadline_date":{"type":"string","format":"date","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Ariza yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/ApplicationResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Applications"],"summary":"Arizani o'chirish (soft delete)","operationId":"96ae1ef06f193366689c077802986df3","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications\/{id}\/restore":{"post":{"tags":["Admin Service","Applications"],"summary":"O'chirilgan arizani tiklash","operationId":"d674e8da800dcaf1b35ddfe440a6ad0d","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications\/{application}\/toggle-status":{"post":{"tags":["Admin Service","Applications"],"summary":"Ariza faollik holatini o'zgartirish","operationId":"8a56a5a8fd51cf9535e595409d958505","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications\/{application}\/upload-files":{"post":{"tags":["Admin Service","Applications"],"summary":"Arizaga fayllar yuklash","operationId":"9434f88c253551d360d7d91e594a3e26","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["files"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}},"type":"object"}}}},"responses":{"200":{"description":"Fayllar yuklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ApplicationFileResource"}}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/applications\/{application}\/files\/{file}":{"delete":{"tags":["Admin Service","Applications"],"summary":"Ariza faylini o'chirish","operationId":"84bb6592ab87df6d88c739dbfd907da1","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}},{"name":"file","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fayl o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Fayl topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-statuses":{"get":{"tags":["Admin Service","Application Statuses"],"summary":"Ariza statuslari ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan ariza statuslari ro'yxati","operationId":"7840f8a0d598a4dae2f6d5466c7a3b22","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","color","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Application Statuses"],"summary":"Yangi ariza status yaratish","operationId":"585f3ff053ab8e080db788d7e433245b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Status nomi","type":"string","example":"Yangi"},"color":{"description":"Status rangi","type":"string","example":"#28a745"},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Status yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza status muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/ApplicationStatusResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-statuses\/{application_status}":{"get":{"tags":["Admin Service","Application Statuses"],"summary":"Ariza statusni ko'rish","operationId":"5a20ff723209ec2ac05ec71c744c81d2","parameters":[{"name":"application_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ApplicationStatusResource"}},"type":"object"}}}},"404":{"description":"Status topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Application Statuses"],"summary":"Ariza statusni tahrirlash","operationId":"e3111ae4164ddd733752e1ff76bd090b","parameters":[{"name":"application_status","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Status nomi","type":"string"},"color":{"description":"Status rangi","type":"string"},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Status yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza status muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/ApplicationStatusResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Application Statuses"],"summary":"Ariza statusni o'chirish (soft delete)","operationId":"156390c33bcd2380cc83a09f39173fb4","parameters":[{"name":"application_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Status o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-statuses\/{id}\/restore":{"post":{"tags":["Admin Service","Application Statuses"],"summary":"O'chirilgan ariza statusni tiklash","operationId":"ad901b1b519aa42ec2425c08d91c3c95","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Status tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-statuses\/{application_status}\/toggle-status":{"post":{"tags":["Admin Service","Application Statuses"],"summary":"Ariza status faollik holatini o'zgartirish","operationId":"0c5d0ba898a02acdb68cbea271a5fe56","parameters":[{"name":"application_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-types":{"get":{"tags":["Admin Service","Application Types"],"summary":"Ariza turlari ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan ariza turlari ro'yxati","operationId":"2dbea183a24ef3c456d04230cba65644","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Sarlavha bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"kpi_effect","in":"query","description":"KPI ta'siri bo'yicha filtr","schema":{"type":"string","enum":["benefit","loss","neutral"]}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","title","kpi_effect","deadline_days","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Application Types"],"summary":"Yangi ariza turi yaratish","operationId":"5fdcbfd78b72ce85704a213e5311c47d","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["title","kpi_effect"],"properties":{"title":{"type":"string","example":"Jihozni ta'mirlash"},"deadline_days":{"type":"integer","example":7,"nullable":true},"kpi_effect":{"type":"string","example":"benefit","enum":["benefit","loss","neutral"]},"description":{"type":"string","example":"Jihozni ta'mirlash uchun ariza","nullable":true},"is_active":{"type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Ariza turi yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza turi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/ApplicationTypeResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-types\/{application_type}":{"get":{"tags":["Admin Service","Application Types"],"summary":"Ariza turini ko'rish","operationId":"c1ea53c88453b398a770417e4ece126e","parameters":[{"name":"application_type","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/ApplicationTypeResource"}},"type":"object"}}}},"404":{"description":"Ariza turi topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Application Types"],"summary":"Ariza turini tahrirlash","operationId":"7212305f70fe56f17fc678cd9a7a51bf","parameters":[{"name":"application_type","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"title":{"type":"string"},"deadline_days":{"type":"integer","nullable":true},"kpi_effect":{"type":"string","enum":["benefit","loss","neutral"]},"description":{"type":"string","nullable":true},"is_active":{"type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Ariza turi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ariza turi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/ApplicationTypeResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Application Types"],"summary":"Ariza turini o'chirish (soft delete)","operationId":"b46dfb369b348d84fe5742efb4a52891","parameters":[{"name":"application_type","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza turi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-types\/{id}\/restore":{"post":{"tags":["Admin Service","Application Types"],"summary":"O'chirilgan ariza turini tiklash","operationId":"ac437020c514c98a93d5d74624834da0","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza turi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/application-types\/{application_type}\/toggle-status":{"post":{"tags":["Admin Service","Application Types"],"summary":"Ariza turi faollik holatini o'zgartirish","operationId":"ad475510eea4aad3e5047d4b4ebe8762","parameters":[{"name":"application_type","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-categories":{"get":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriyalari ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan aktiv kategoriyalari ro'yxati","operationId":"afe73b7d749b9f304d8a61c852423ff9","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"parent_id","in":"query","description":"Ota kategoriya bo'yicha filtr","schema":{"type":"integer"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","parent_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Asset Categories"],"summary":"Yangi aktiv kategoriya yaratish","operationId":"a843702c7e2e84504021451415fa8573","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Kompyuter texnikasi"},"parent_id":{"description":"Ota kategoriya ID","type":"integer","example":null,"nullable":true},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Kategoriya yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv kategoriya muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/AssetCategoryResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-categories\/tree":{"get":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriyalarini ierarxik daraxt ko'rinishida olish","operationId":"7bcdd2e9a140cda9c138879b16176d86","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AssetCategoryResource"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-categories\/{asset_category}":{"get":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriyani ko'rish","operationId":"43697cbd3057766805b0f469d00a2b6d","parameters":[{"name":"asset_category","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AssetCategoryResource"}},"type":"object"}}}},"404":{"description":"Kategoriya topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriyani tahrirlash","operationId":"2e4acbac3728688bee970303a3e50790","parameters":[{"name":"asset_category","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Kategoriya nomi","type":"string"},"parent_id":{"description":"Ota kategoriya ID","type":"integer","nullable":true},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Kategoriya yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv kategoriya muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/AssetCategoryResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriyani o'chirish (soft delete)","operationId":"f4d9fcd93ac2a4f6983bb6b917766195","parameters":[{"name":"asset_category","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Kategoriya o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-categories\/{id}\/restore":{"post":{"tags":["Admin Service","Asset Categories"],"summary":"O'chirilgan aktiv kategoriyani tiklash","operationId":"078d96f524194ccf6a6dc00d399a8dc4","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Kategoriya tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-categories\/{asset_category}\/toggle-status":{"post":{"tags":["Admin Service","Asset Categories"],"summary":"Aktiv kategoriya faollik holatini o'zgartirish","operationId":"309d4fa4ceb0018af6eba3607f075de9","parameters":[{"name":"asset_category","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets":{"get":{"tags":["Admin Service","Assets"],"summary":"Aktivlar ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan aktivlar ro'yxati","operationId":"839a40ad0082bc4601e4e5b4d7e8d3d7","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom yoki inventar raqami bo'yicha qidirish","schema":{"type":"string"}},{"name":"category_id","in":"query","description":"Kategoriya bo'yicha filtr","schema":{"type":"integer"}},{"name":"status_id","in":"query","description":"Status bo'yicha filtr","schema":{"type":"integer"}},{"name":"user_id","in":"query","description":"Foydalanuvchi bo'yicha filtr","schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","title","inventory_number","serial_number","category_id","status_id","user_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Assets"],"summary":"Yangi aktiv yaratish","operationId":"ef1f9ce040e398e44a16cc8feaba324f","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["title","inventory_number","category_id","status_id"],"properties":{"title":{"type":"string","example":"Dell Monitor 24\""},"description":{"type":"string","example":"IT bo'lim uchun monitor","nullable":true},"inventory_number":{"type":"string","example":"INV-000123"},"serial_number":{"type":"string","example":"SN-ABC-1234","nullable":true},"category_id":{"type":"integer","example":1},"user_id":{"type":"integer","example":null,"nullable":true},"status_id":{"type":"integer","example":1}},"type":"object"}}}},"responses":{"201":{"description":"Aktiv yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/AssetResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets\/{asset}":{"get":{"tags":["Admin Service","Assets"],"summary":"Aktivni ko'rish","operationId":"a0ceee6775cf3fad6b1a5a9d7083ee30","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AssetResource"}},"type":"object"}}}},"404":{"description":"Aktiv topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Assets"],"summary":"Aktivni tahrirlash","operationId":"eb648d261db8f4ac81846cc36d29833a","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"title":{"type":"string"},"description":{"type":"string","nullable":true},"inventory_number":{"type":"string"},"serial_number":{"type":"string","nullable":true},"category_id":{"type":"integer"},"user_id":{"type":"integer","nullable":true},"status_id":{"type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Aktiv yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/AssetResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Assets"],"summary":"Aktivni o'chirish (soft delete)","operationId":"333aa2d78e8263e5cdc14e632d8d4f56","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Aktiv o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets\/{id}\/restore":{"post":{"tags":["Admin Service","Assets"],"summary":"O'chirilgan aktivni tiklash","operationId":"324d70988dd66658d000e1b6f3db09c0","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Aktiv tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets\/{asset}\/toggle-status":{"post":{"tags":["Admin Service","Assets"],"summary":"Aktiv faollik holatini o'zgartirish","operationId":"c184ae71b16fbc5606f4b03ae6a2610e","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets\/{asset}\/upload-images":{"post":{"tags":["Admin Service","Assets"],"summary":"Aktivga rasmlar yuklash","operationId":"60f45fb1593638218c6f4eedc17e23dc","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["images"],"properties":{"images[]":{"type":"array","items":{"type":"string","format":"binary"}}},"type":"object"}}}},"responses":{"200":{"description":"Rasmlar yuklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AssetImageResource"}}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/assets\/{asset}\/images\/{image}":{"delete":{"tags":["Admin Service","Assets"],"summary":"Aktiv rasmini o'chirish","operationId":"57c2fc339e78b6ca386274ccd307c4b2","parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"integer"}},{"name":"image","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rasm o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Rasm topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-statuses":{"get":{"tags":["Admin Service","Asset Statuses"],"summary":"Aktiv statuslari ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan aktiv statuslari ro'yxati","operationId":"d5de54de87738f46c85348383bfe16f8","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","color","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Asset Statuses"],"summary":"Yangi aktiv status yaratish","operationId":"3b42b617ce3c84864990453db6c0a3fd","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Status nomi","type":"string","example":"Foydalanishda"},"color":{"description":"Status rangi","type":"string","example":"#28a745"},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Status yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv status muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/AssetStatusResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-statuses\/{asset_status}":{"get":{"tags":["Admin Service","Asset Statuses"],"summary":"Aktiv statusni ko'rish","operationId":"dd1c830aad9ac80b70a75903ae00d369","parameters":[{"name":"asset_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AssetStatusResource"}},"type":"object"}}}},"404":{"description":"Status topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Asset Statuses"],"summary":"Aktiv statusni tahrirlash","operationId":"15324527fe4915d71601c365609625be","parameters":[{"name":"asset_status","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Status nomi","type":"string"},"color":{"description":"Status rangi","type":"string"},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Status yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Aktiv status muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/AssetStatusResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Asset Statuses"],"summary":"Aktiv statusni o'chirish (soft delete)","operationId":"ee82738de0112fbd328077e770ef6363","parameters":[{"name":"asset_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Status o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-statuses\/{id}\/restore":{"post":{"tags":["Admin Service","Asset Statuses"],"summary":"O'chirilgan aktiv statusni tiklash","operationId":"0bc4d282dc5219c608a268ca66ce314a","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Status tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/asset-statuses\/{asset_status}\/toggle-status":{"post":{"tags":["Admin Service","Asset Statuses"],"summary":"Aktiv status faollik holatini o'zgartirish","operationId":"bdc5fdc5c0765ac05c0a1689510a70d5","parameters":[{"name":"asset_status","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Audit loglar ro'yxati","description":"Barcha servicelardan kelgan audit loglarni filter va pagination bilan olish","operationId":"26a564983f3075fc795357c172b819f1","parameters":[{"name":"service","in":"query","description":"Service nomi","schema":{"type":"string","enum":["auth-service","admin-service","shared-service","agroteh-service","tm-agroteh-service","inspector-service"]}},{"name":"action","in":"query","description":"Harakat turi","schema":{"type":"string","enum":["created","updated","deleted","cancelled","login","logout","restored","toggled"]}},{"name":"entity_type","in":"query","description":"Entity turi (User, Role, CropType, ...)","schema":{"type":"string"}},{"name":"entity_id","in":"query","description":"Entity ID","schema":{"type":"integer"}},{"name":"user_id","in":"query","description":"Foydalanuvchi ID","schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv (event, user_name, entity_type bo'yicha)","schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (1-100)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","service","action","entity_type","entity_id","user_id","created_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AuditLogResource"}},"meta":{"type":"object"},"links":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/statistics":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Audit log statistikasi","description":"Service, action, entity_type va kunlik statistika","operationId":"ae9cf386fcfeab1c5094c976f41e839f","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":150},"by_service":{"type":"array","items":{"properties":{"service":{"type":"string","example":"admin-service"},"count":{"type":"integer","example":50}},"type":"object"}},"by_action":{"type":"array","items":{"properties":{"action":{"type":"string","example":"created"},"count":{"type":"integer","example":30}},"type":"object"}},"by_entity_type":{"type":"array","items":{"properties":{"entity_type":{"type":"string","example":"User"},"count":{"type":"integer","example":20}},"type":"object"}},"daily":{"type":"array","items":{"properties":{"date":{"type":"string","example":"2026-02-26"},"count":{"type":"integer","example":10}},"type":"object"}}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/services":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Mavjud service nomlari","description":"Audit logda qayd etilgan service nomlari va ularning soni","operationId":"eff35ae9518dd2b0701e00ae031879b7","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"service":{"type":"string","example":"admin-service"},"count":{"type":"integer","example":50}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/entity-types":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Mavjud entity turlari","description":"Audit logda qayd etilgan entity turlari va ularning soni","operationId":"267d20f3b54e75793196d493fdd51668","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"entity_type":{"type":"string","example":"User"},"count":{"type":"integer","example":20}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/timeline":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Kunlik timeline","description":"Oxirgi N kun ichidagi audit loglar kunlik statistikasi (service va action bo'yicha)","operationId":"ec9ce49f723acb103c6e4b1a89f6fbc5","parameters":[{"name":"days","in":"query","description":"Necha kunlik (max 90)","schema":{"type":"integer","default":30}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"date":{"type":"string","example":"2026-02-26"},"service":{"type":"string","example":"admin-service"},"action":{"type":"string","example":"created"},"count":{"type":"integer","example":5}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/by-user\/{userId}":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Foydalanuvchi bo'yicha audit tarix","description":"Ma'lum foydalanuvchining barcha harakatlari tarixi","operationId":"fa59ebfde243f1dc5dab1659fbccac11","parameters":[{"name":"userId","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AuditLogResource"}},"meta":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/by-entity":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Entity bo'yicha audit tarix","description":"Ma'lum entity (masalan, User #5) ning barcha o'zgarishlar tarixi","operationId":"a9fafc4fe058123be3084b5a977f748c","parameters":[{"name":"entity_type","in":"query","description":"Entity turi (User, CropType, ...)","required":true,"schema":{"type":"string"}},{"name":"entity_id","in":"query","description":"Entity ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AuditLogResource"}},"meta":{"type":"object"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/{auditLog}":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"Bitta audit logni ko'rish","description":"Audit log yozuvining to'liq ma'lumotlari","operationId":"c02292d48fda925292cca41b00db3fe1","parameters":[{"name":"auditLog","in":"path","description":"Audit log ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AuditLogResource"}},"type":"object"}}}},"404":{"description":"Audit log topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/{auditLog}\/changes":{"get":{"tags":["Admin Service","Audit Logs"],"summary":"O'zgarishlar tafsiloti","description":"Audit log yozuvining oldingi va yangi qiymatlarini solishtirish","operationId":"d3fa0eb1ced95f1ba8f40f62cc0722db","parameters":[{"name":"auditLog","in":"path","description":"Audit log ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"404":{"description":"Audit log topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/audit-logs\/cleanup":{"delete":{"tags":["Admin Service","Audit Logs"],"summary":"Eski loglarni o'chirish","description":"Belgilangan kundan eski audit loglarni o'chirish (minimal 30 kun)","operationId":"e47e13800164e65ff97f73ac2ce084d5","parameters":[{"name":"days","in":"query","description":"Necha kundan eski loglarni o'chirish (min 30)","schema":{"type":"integer","default":90}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"15 ta eski log o'chirildi (90 kundan eski)"},"data":{"properties":{"deleted_count":{"type":"integer","example":15},"older_than_days":{"type":"integer","example":90}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/departments":{"get":{"tags":["Admin Service","Departments"],"summary":"Bo'limlar ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan bo'limlar ro'yxati","operationId":"74a07bad7cee14ca390fbc6494219ab7","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","state_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Departments"],"summary":"Yangi bo'lim yaratish","operationId":"fa715e92b3f13a22e61601b13cb6921c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Bo'lim nomi","type":"string","example":"IT bo'limi"},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Bo'lim yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Bo'lim muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/DepartmentResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/departments\/{department}":{"get":{"tags":["Admin Service","Departments"],"summary":"Bo'limni ko'rish","operationId":"b347c9eec062c959bda5354a7c6f77c2","parameters":[{"name":"department","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/DepartmentResource"}},"type":"object"}}}},"404":{"description":"Bo'lim topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Departments"],"summary":"Bo'limni tahrirlash","operationId":"8a71fc8c4e03996d23b1743b734fecf8","parameters":[{"name":"department","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Bo'lim nomi","type":"string"},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Bo'lim yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Bo'lim muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/DepartmentResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Departments"],"summary":"Bo'limni o'chirish (soft delete)","operationId":"513b3a61ebdc1b22f73230f2d42b5620","parameters":[{"name":"department","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Bo'lim o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/departments\/{id}\/restore":{"post":{"tags":["Admin Service","Departments"],"summary":"O'chirilgan bo'limni tiklash","operationId":"a00d59e151e87d2dc327a22107b1de49","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Bo'lim tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/departments\/{department}\/toggle-status":{"post":{"tags":["Admin Service","Departments"],"summary":"Bo'lim faollik holatini o'zgartirish","operationId":"c5b1f75748e2428257654369e25d49f2","parameters":[{"name":"department","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/permissions":{"get":{"tags":["Admin Service","Permissions"],"summary":"Barcha permissionlar (guruhlangan)","description":"Permissionlarni guruh bo'yicha filtrlash, qidirish va service bo'yicha ajratish","operationId":"6bb707da42346cbe4cbe9660f90236d5","parameters":[{"name":"group_key","in":"query","description":"Guruh kaliti bo'yicha filter (masalan: vehicles, users)","required":false,"schema":{"type":"string"}},{"name":"service","in":"query","description":"Service nomi bo'yicha filter (masalan: agroteh, tm-agroteh, inspector, product, seed, agro-ops, risk)","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Permission label (uz\/ru\/en) yoki name bo'yicha qidirish","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PermissionGroupResource"}}},"type":"object"}}}},"401":{"description":"Unauthorized"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/permission-groups":{"get":{"tags":["Admin Service","Permissions"],"summary":"Permission guruhlari ro'yxati (faqat guruhlar, permissionsiz)","description":"Frontend select\/filter uchun guruhlar ro'yxati","operationId":"b46808a31846b6c1d186d236ad08fa64","parameters":[{"name":"service","in":"query","description":"Service nomi bo'yicha filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"key":{"type":"string","example":"vehicles"},"name":{"type":"object"},"service":{"type":"string","example":"agroteh","nullable":true},"permissions_count":{"type":"integer","example":8}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/positions":{"get":{"tags":["Admin Service","Positions"],"summary":"Lavozimlar ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan lavozimlar ro'yxati","operationId":"ff021575c2c551676bc6addf4813aa5a","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Nom bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"department_id","in":"query","description":"Bo'lim bo'yicha filtr","schema":{"type":"integer"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","department_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Positions"],"summary":"Yangi lavozim yaratish","operationId":"9cbbe46955bd2c68846ab00ae4a2452d","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","department_id"],"properties":{"name":{"description":"Lavozim nomi","type":"string","example":"Bosh mutaxassis"},"department_id":{"description":"Bo'lim ID","type":"integer","example":1},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Lavozim yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Lavozim muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/PositionResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/positions\/{position}":{"get":{"tags":["Admin Service","Positions"],"summary":"Lavozimni ko'rish","operationId":"db95bdd245584f7b5f3972dd4d3c48a5","parameters":[{"name":"position","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/PositionResource"}},"type":"object"}}}},"404":{"description":"Lavozim topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Positions"],"summary":"Lavozimni tahrirlash","operationId":"4b01c734837aa0b9fc8f00b12b54a8a4","parameters":[{"name":"position","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Lavozim nomi","type":"string"},"department_id":{"description":"Bo'lim ID","type":"integer"},"is_active":{"description":"Faollik holati","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Lavozim yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Lavozim muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/PositionResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Positions"],"summary":"Lavozimni o'chirish (soft delete)","operationId":"956871b333ce7b354fd8e5d81febe3e7","parameters":[{"name":"position","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Lavozim o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/positions\/{id}\/restore":{"post":{"tags":["Admin Service","Positions"],"summary":"O'chirilgan lavozimni tiklash","operationId":"61f3b21134ad4de54cf219e1ef1e53a2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Lavozim tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/positions\/{position}\/toggle-status":{"post":{"tags":["Admin Service","Positions"],"summary":"Lavozim faollik holatini o'zgartirish","operationId":"a85e921b0f0568f4b44dcf6fe0136ac2","parameters":[{"name":"position","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/roles":{"get":{"tags":["Admin Service","Roles & Permissions"],"summary":"Get all roles","description":"Get list of all roles with their permissions","operationId":"6e28bdec08d7292bde33180ca5928718","parameters":[{"name":"with_users","in":"query","description":"Include users count","schema":{"type":"boolean","default":false}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","name","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"guard_name":{"type":"string"},"permissions":{"type":"array","items":{"type":"object"}},"users_count":{"type":"integer"}},"type":"object"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Roles & Permissions"],"summary":"Create new role","description":"Create a new role with optional permissions","operationId":"b47f38c8385567ad7a473d82fb6ebf63","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Role name (lowercase with hyphens only)","type":"string","example":"moderator"},"permissions":{"description":"Array of permission IDs","type":"array","items":{"type":"integer","example":1}}},"type":"object"}}}},"responses":{"201":{"description":"Role created successfully","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/RoleResource"}},"type":"object"}}}},"422":{"description":"Validation error","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/roles\/{role}":{"get":{"tags":["Admin Service","Roles & Permissions"],"summary":"Get role by ID","description":"Get detailed information about a specific role","operationId":"1b4883de64e44956da4d60921370611c","parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/RoleResource"}},"type":"object"}}}},"404":{"description":"Role not found","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Roles & Permissions"],"summary":"Update role","description":"Update role name and\/or permissions","operationId":"ab211a56fcc34ad3e11d49f8fad3d128","parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"moderator"},"permissions":{"description":"Array of permission IDs","type":"array","items":{"type":"integer","example":1}}},"type":"object"}}}},"responses":{"200":{"description":"Role updated successfully","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/RoleResource"}},"type":"object"}}}},"403":{"description":"Cannot update system roles","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Roles & Permissions"],"summary":"Delete role","description":"Delete a role (system roles cannot be deleted)","operationId":"4e9316107dd5934ae8443d9397955be6","parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Role deleted successfully","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol o'chirildi"}},"type":"object"}}}},"403":{"description":"Cannot delete system roles","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/roles\/{role}\/permissions":{"post":{"tags":["Admin Service","Roles & Permissions"],"summary":"Sync permissions to role","description":"Replace all role permissions with new ones","operationId":"94bb5886b3bb86a773ec56e8f70df784","parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permissions"],"properties":{"permissions":{"description":"Array of permission IDs","type":"array","items":{"type":"integer","example":1}}},"type":"object"}}}},"responses":{"200":{"description":"Permissions synced successfully","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/RoleResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/roles\/users\/{user}\/assign":{"post":{"tags":["Admin Service","Roles & Permissions"],"summary":"Assign roles to user","description":"Replace all user roles with new ones","operationId":"79491723752a78a496f3c05c805eeb21","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["roles"],"properties":{"roles":{"type":"array","items":{"type":"string","example":"admin"}}},"type":"object"}}}},"responses":{"200":{"description":"Roles assigned successfully","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"$ref":"#\/components\/schemas\/UserResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-services":{"get":{"tags":["Admin Service","Technical Services"],"summary":"Texnik xizmatlar ro'yxatini olish","description":"Paginatsiya, qidiruv va filtr bilan texnik xizmatlar ro'yxati. Habarnoma turi bo'yicha filtrlash mumkin: muhim (Muhim), ogohlantirish (Ogohlantirish), xabarnoma (Xabarnoma).","operationId":"393dda5fd87dfa37420f065da9380001","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni","schema":{"type":"integer","default":15}},{"name":"page","in":"query","description":"Sahifa raqami","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Tavsif bo'yicha qidirish","schema":{"type":"string"}},{"name":"state_id","in":"query","description":"Hudud bo'yicha filtr","schema":{"type":"integer"}},{"name":"department_id","in":"query","description":"Bo'lim bo'yicha filtr","schema":{"type":"integer"}},{"name":"notification_type","in":"query","description":"Habarnoma turi bo'yicha filtr. Qiymatlar: muhim \u2014 Muhim xabarnoma, ogohlantirish \u2014 Ogohlantirish xabarnomasi, xabarnoma \u2014 Oddiy xabarnoma","required":false,"schema":{"type":"string","example":"muhim","enum":["muhim","ogohlantirish","xabarnoma"]}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filtr","schema":{"type":"boolean"}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","schema":{"type":"string","default":"id","enum":["id","state_id","department_id","notification_type","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TechnicalServiceResource"}},"meta":{"properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":15},"total":{"type":"integer","example":75}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Technical Services"],"summary":"Yangi texnik xizmat yaratish","description":"Yangi texnik xizmat yaratadi. Habarnoma turi (notification_type) majburiy: muhim \u2014 Muhim xabarnoma, ogohlantirish \u2014 Ogohlantirish xabarnomasi, xabarnoma \u2014 Oddiy xabarnoma.","operationId":"a7a65065f6e762098e26719e3f56293b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["state_id","department_id","description","notification_type"],"properties":{"state_id":{"description":"Hudud ID (tbl_states jadvalidan)","type":"integer","example":1},"department_id":{"description":"Bo'lim ID (departments jadvalidan)","type":"integer","example":1},"description":{"description":"Tavsif (max: 5000 belgi)","type":"string","example":"Texnik xizmat tavsifi"},"notification_type":{"description":"Habarnoma turi. Qiymatlari: muhim \u2014 Muhim xabarnoma (yuqori darajali), ogohlantirish \u2014 Ogohlantirish xabarnomasi (o'rta darajali), xabarnoma \u2014 Oddiy xabarnoma (past darajali)","type":"string","example":"muhim","enum":["muhim","ogohlantirish","xabarnoma"]},"is_active":{"description":"Faollik holati (default: true)","type":"boolean","example":true}},"type":"object"}}}},"responses":{"201":{"description":"Texnik xizmat muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik xizmat muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TechnicalServiceResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"properties":{"notification_type":{"type":"array","items":{"type":"string","example":"Habarnoma turini tanlash majburiy"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-services\/{technicalService}":{"get":{"tags":["Admin Service","Technical Services"],"summary":"Texnik xizmatni ko'rish","operationId":"4392a73508d17602d0f0350cd7605a55","parameters":[{"name":"technicalService","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TechnicalServiceResource"}},"type":"object"}}}},"404":{"description":"Texnik xizmat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Technical Services"],"summary":"Texnik xizmatni tahrirlash","description":"Texnik xizmat ma'lumotlarini yangilaydi. Barcha maydonlar ixtiyoriy (faqat o'zgartirmoqchi bo'lganlarini yuboring). notification_type qiymatlari: muhim, ogohlantirish, xabarnoma.","operationId":"88e1f8fe93d55491489fa39a7b46f771","parameters":[{"name":"technicalService","in":"path","description":"Texnik xizmat ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"state_id":{"description":"Hudud ID (tbl_states jadvalidan)","type":"integer","example":1},"department_id":{"description":"Bo'lim ID (departments jadvalidan)","type":"integer","example":1},"description":{"description":"Tavsif (max: 5000 belgi)","type":"string","example":"Yangilangan tavsif"},"notification_type":{"description":"Habarnoma turi. Qiymatlari: muhim \u2014 Muhim xabarnoma (yuqori darajali), ogohlantirish \u2014 Ogohlantirish xabarnomasi (o'rta darajali), xabarnoma \u2014 Oddiy xabarnoma (past darajali)","type":"string","example":"ogohlantirish","enum":["muhim","ogohlantirish","xabarnoma"]},"is_active":{"description":"Faollik holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Texnik xizmat muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Texnik xizmat muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TechnicalServiceResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"properties":{"notification_type":{"type":"array","items":{"type":"string","example":"Noto'g'ri habarnoma turi tanlandi"}}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Texnik xizmat topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Technical Services"],"summary":"Texnik xizmatni o'chirish (soft delete)","operationId":"4c2c7056c986cfaedc21a0cf1fcf3689","parameters":[{"name":"technicalService","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik xizmat o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-services\/{id}\/restore":{"post":{"tags":["Admin Service","Technical Services"],"summary":"O'chirilgan texnik xizmatni tiklash","operationId":"b1c0615b380d85b1a51ba1076b6ea7f6","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Texnik xizmat tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/technical-services\/{technicalService}\/toggle-status":{"post":{"tags":["Admin Service","Technical Services"],"summary":"Texnik xizmat faollik holatini o'zgartirish","operationId":"3939e985a8fded4e98d414e21e2edc63","parameters":[{"name":"technicalService","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users":{"get":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchilar ro'yxati","operationId":"7e2f5799553ec93c9c43e2a58490d447","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (max: 100)","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"search","in":"query","description":"Ism, familiya, email bo'yicha qidirish","schema":{"type":"string"}},{"name":"is_active","in":"query","schema":{"type":"boolean"}},{"name":"role_id","in":"query","description":"Spatie rol ID","schema":{"type":"integer"}},{"name":"state_id","in":"query","description":"Viloyat ID","schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID","schema":{"type":"integer"}},{"name":"department_id","in":"query","description":"Bo'lim ID","schema":{"type":"integer"}},{"name":"position_id","in":"query","description":"Lavozim ID","schema":{"type":"integer"}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"created_at","enum":["created_at","name","email","is_active","id"]}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"with_trashed","in":"query","description":"O'chirilganlarni ham ko'rsatish","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Admin Service","Users"],"summary":"Yangi foydalanuvchi yaratish","operationId":"a1fce870c566eb5fc0cf3178ec5d2fed","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","lastname","email","password","password_confirmation","roles"],"properties":{"jshshir":{"description":"JSHSHIR (14 raqam)","type":"string","example":"12345678901234"},"name":{"description":"Ism (majburiy)","type":"string","example":"Ali"},"lastname":{"description":"Familiya (majburiy)","type":"string","example":"Valiyev"},"middle_name":{"description":"Sharif (otasining ismi)","type":"string","example":"Karimovich"},"passport_series":{"description":"Pasport seriya (2 belgi)","type":"string","example":"AA"},"passport_number":{"description":"Pasport raqam (7 raqam)","type":"string","example":"1234567"},"birth_date":{"description":"Tug'ilgan sana","type":"string","format":"date","example":"1990-01-15"},"birth_place_id":{"description":"Tug'ilgan joy (tuman ID)","type":"integer","example":10},"phone":{"description":"Telefon","type":"string","example":"+998901234567"},"email":{"description":"Email (majburiy, unique)","type":"string","format":"email","example":"ali@agroin.uz"},"password":{"description":"Parol (min: 8)","type":"string","format":"password","example":"Password123"},"password_confirmation":{"type":"string","format":"password","example":"Password123"},"is_active":{"description":"Holati (default: true)","type":"boolean","example":true},"roles":{"description":"Rol IDlari (majburiy)","type":"array","items":{"type":"integer"},"example":[1,4]},"department_id":{"description":"Bo'lim ID","type":"integer","example":1},"position_id":{"description":"Lavozim ID","type":"integer","example":1},"state_id":{"description":"Viloyat ID","type":"integer","example":1},"city_id":{"description":"Tuman ID","type":"integer","example":10}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{user}":{"get":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchi ma'lumotlari","operationId":"0b9800c6a2369ce94c1efa162edfa374","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchini yangilash","operationId":"caaec06bf33a577d630c028222869ee6","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"jshshir":{"description":"JSHSHIR","type":"string"},"name":{"description":"Ism","type":"string"},"lastname":{"description":"Familiya","type":"string"},"middle_name":{"description":"Sharif","type":"string"},"passport_series":{"description":"Pasport seriya","type":"string"},"passport_number":{"description":"Pasport raqam","type":"string"},"birth_date":{"description":"Tug'ilgan sana","type":"string","format":"date"},"birth_place_id":{"description":"Tug'ilgan joy (tuman ID)","type":"integer"},"phone":{"description":"Telefon","type":"string"},"email":{"description":"Email","type":"string","format":"email"},"password":{"description":"Yangi parol","type":"string","format":"password"},"password_confirmation":{"type":"string","format":"password"},"is_active":{"description":"Holati","type":"boolean"},"roles":{"description":"Rol IDlari","type":"array","items":{"type":"integer"}},"department_id":{"description":"Bo'lim ID","type":"integer"},"position_id":{"description":"Lavozim ID","type":"integer"},"state_id":{"description":"Viloyat ID","type":"integer"},"city_id":{"description":"Tuman ID","type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}},"404":{"description":"Topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchini o'chirish (soft delete)","operationId":"a4e18f8517afcc062825920ffb6cd762","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"403":{"description":"O'zingizni o'chira olmaysiz","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{id}\/restore":{"post":{"tags":["Admin Service","Users"],"summary":"O'chirilgan foydalanuvchini tiklash","operationId":"d5968ad0fd82a1a7ac01c5840bd82acc","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{user}\/toggle-status":{"post":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchi holatini o'zgartirish","operationId":"2cee4c5e55c5d11202e8c6015ff502f8","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{user}\/upload-image":{"post":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchi rasmini yuklash","operationId":"79271e544cad67ef592dd5174fa0e51e","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["image"],"properties":{"image":{"description":"Rasm (jpg, png, gif, max: 2MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Rasm yuklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{user}\/delete-image":{"delete":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchi rasmini o'chirish","operationId":"763f9bd8a7b41b8548dbc12d0b7089cb","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rasm o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/users\/{user}\/image":{"get":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchi rasmini olish","operationId":"58b291eab962d116345f840d7938186c","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rasm fayli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"Rasm topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}}}},"\/api\/v1\/users\/statistics":{"get":{"tags":["Admin Service","Users"],"summary":"Foydalanuvchilar statistikasi","operationId":"a505e37c3ca2c73d127960e633df3365","responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/health":{"get":{"summary":"Service mavjud emas","description":"Service javob bermadi (HTTP 404). Service ishga tushirilganligini tekshiring.","tags":["KPI Service","Error"],"responses":{"503":{"description":"Service Unavailable"}}}},"\/api\/v1\/media\/{media}":{"delete":{"tags":["Product Service","Media"],"summary":"Faylni o'chirish","description":"Bitta faylni ID orqali o'chirish (barcha modellar uchun ishlaydi)","operationId":"mediaDestroy","parameters":[{"name":"media","in":"path","description":"Media ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Fayl muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Fayl muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"404":{"description":"Fayl topilmadi"}}}},"\/api\/v1\/cotton-conclusions":{"get":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosalarini ro'yxatini olish","operationId":"642d11549ab49930b29102ee77a2d8db","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","arbitraj_group_number","conclusion_number","enterprise_name","stir","status","region_id","district_id","reweight_date","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CottonConclusionResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini qo'shish","description":"Yangi paxta arbitraj xulosasini yaratadi","operationId":"cottonConclusionsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CottonConclusionRequest"}}}},"responses":{"201":{"description":"Xulosa muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CottonConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"region_id":["Region maydoni to'ldirilishi shart"]}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cotton-conclusions\/{cottonConclusion}":{"get":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini ko'rish","description":"Bitta CottonConclusion yozuvini ID orqali qaytaradi","operationId":"cottonConclusionsShow","parameters":[{"name":"cottonConclusion","in":"path","description":"CottonConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Xulosa muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/CottonConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini yangilash","description":"CottonConclusion ma'lumotlarini yangilaydi","operationId":"cottonConclusionsUpdate","parameters":[{"name":"cottonConclusion","in":"path","description":"CottonConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CottonConclusionRequest"}}}},"responses":{"200":{"description":"Xulosa muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/CottonConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini o'chirish","description":"CottonConclusion yozuvini o'chiradi","operationId":"112ccfff7ac835be5a9b6a204b817ba4","parameters":[{"name":"cottonConclusion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/cotton-conclusions\/{cottonConclusion}\/reject":{"post":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini rad etish","description":"Xulosani rad etadi va sababini saqlaydi","operationId":"cottonConclusionReject","parameters":[{"name":"cottonConclusion","in":"path","description":"Paxta xulosa ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Ma'lumotlar noto'g'ri kiritilgan"}},"type":"object"}}}},"responses":{"200":{"description":"Xulosa rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa rad etildi"}},"type":"object"}}}},"400":{"description":"Bu xulosa bilan amal qilish imkoni yo'q"},"403":{"description":"Yaratuvchi rad eta olmaydi"},"404":{"description":"Xulosa topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cotton-conclusions\/{cottonConclusion}\/sign":{"post":{"tags":["Product Service","Cotton Conclusions"],"summary":"Paxta arbitraj xulosasini imzolash","description":"Xulosani ECP bilan imzolash","operationId":"cottonConclusionSign","parameters":[{"name":"cottonConclusion","in":"path","description":"Paxta xulosa ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["signature"],"properties":{"signature":{"description":"Imzo (base64\/pkcs7 formatda)","type":"string","example":"base64_signature_data"},"file":{"description":"Imzolangan xulosa fayli (PDF)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Xulosa imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imzo muvaffaqiyatli qo'yildi"},"data":{"properties":{"all_signed":{"type":"boolean","example":false}},"type":"object"}},"type":"object"}}}},"400":{"description":"Bu xulosa bilan amal qilish imkoni yo'q"},"404":{"description":"Xulosa topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/grain-conclusions":{"get":{"tags":["Product Service","Grain Conclusions"],"summary":"Don arbitraj xulosalarini ro'yxatini olish","operationId":"a9983414abf1d764361eda0056cdf954","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","arbitraj_group_number","conclusion_number","enterprise_name","stir","status","region_id","district_id","reweight_date","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/GrainConclusionResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Grain Conclusions"],"summary":"Don arbitraj xulosasini qo'shish","description":"Yangi don arbitraj xulosasini yaratadi","operationId":"grainConclusionsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/GrainConclusionRequest"}}}},"responses":{"201":{"description":"Xulosa muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/GrainConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"region_id":["Region maydoni to'ldirilishi shart"]}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/grain-conclusions\/{grainConclusion}":{"get":{"tags":["Product Service","Grain Conclusions"],"summary":"Don arbitraj xulosasini ko'rish","description":"Bitta GrainConclusion yozuvini ID orqali qaytaradi","operationId":"grainConclusionsShow","parameters":[{"name":"grainConclusion","in":"path","description":"GrainConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Xulosa muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/GrainConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Grain Conclusions"],"summary":"Don arbitraj xulosasini yangilash","description":"GrainConclusion ma'lumotlarini yangilaydi","operationId":"grainConclusionsUpdate","parameters":[{"name":"grainConclusion","in":"path","description":"GrainConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/GrainConclusionRequest"}}}},"responses":{"200":{"description":"Xulosa muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/GrainConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Grain Conclusions"],"summary":"Don arbitraj xulosasini o'chirish","description":"GrainConclusion yozuvini o'chiradi","operationId":"4018c5d00edd282aec9f2915b64e868f","parameters":[{"name":"grainConclusion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/claster-conclusions":{"get":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster xulosalarini ro'yxatini olish","operationId":"91f9a5f95a4fb7a998231640117d031f","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir, maskan manzili va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","number","date","name","stir","status","type","regional_department_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ClasterConclusionResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster xulosasini qo'shish","description":"Klaster xulosasi qo'shiladi","operationId":"clasterConclusionsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/ClasterConclusionRequest"}}}},"responses":{"201":{"description":"Xulosa muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/ClasterConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/claster-conclusions\/{clasterConclusion}":{"get":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster xulosasini ko'rish","description":"Bitta Claster Conclusion yozuvini ID orqali qaytaradi","operationId":"clasterConclusionsShow","parameters":[{"name":"clasterConclusion","in":"path","description":"clasterConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Xulosa muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/ClasterConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster xulosasini yangilash","description":"Xulosa ma'lumotlarini qisman yangilaydi","operationId":"clasterConclusionsUpdate","parameters":[{"name":"clasterConclusion","in":"path","description":"clasterConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/ClasterConclusionRequest"}}}},"responses":{"200":{"description":"Xulosa muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/ClasterConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster xulosasini o'chirish","description":"Xulosani o'chirish","operationId":"08e8748a637c8bba6dd7b7f60d838c38","parameters":[{"name":"clasterConclusion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/claster-conclusions\/{clasterConclusion}\/reject":{"post":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster dalolatnomasini rad etish","description":"Klaster dalolatnomasini rad etadi va sababini saqlaydi","operationId":"clasterConclusionReject","parameters":[{"name":"clasterConclusion","in":"path","description":"Klaster xulosa ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Ma'lumotlar noto'g'ri kiritilgan"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma rad etildi"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/claster-conclusions\/{clasterConclusion}\/sign":{"post":{"tags":["Product Service","Claster Conclusions"],"summary":"Klaster dalolatnomasini imzolash","description":"Klaster dalolatnomasini ECP bilan imzolash","operationId":"clasterConclusionSign","parameters":[{"name":"clasterConclusion","in":"path","description":"Klaster xulosa ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["signature"],"properties":{"signature":{"description":"Imzo (base64\/pkcs7 formatda)","type":"string","example":"base64_signature_data"},"file":{"description":"Imzolangan dalolatnoma fayli (PDF)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imzo muvaffaqiyatli qo'yildi"},"data":{"properties":{"all_signed":{"type":"boolean","example":false}},"type":"object"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"404":{"description":"Dalolatnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cooperation-conclusions":{"get":{"tags":["Product Service","Cooperation Conclusions"],"summary":"Kooperatsiya xulosalarini ro'yxatini olish","operationId":"fcc2fb0c0fac90943bc0cf47ff47db36","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"type","in":"query","description":"Dalolatnoma turi bo'icha olish (cooperation_clasters, cooperation_cooperations, seed_clasters, seed_cooperations)","required":false,"schema":{"type":"string","default":"cooperation_clasters","enum":["cooperation_clasters","cooperation_cooperations","seed_clasters","seed_cooperations"]}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","number","date","name","stir","status","type","regional_department_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CooperationConclusionResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Cooperation Conclusions"],"summary":"Kooperatsiya xulosasini qo'shish","description":"Kooperatsiya xulosasi qo'shiladi","operationId":"cooperationConclusionsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CooperationConclusionRequest"}}}},"responses":{"201":{"description":"Xulosa muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CooperationConclusionResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cooperation-conclusions\/{cooperationConclusion}":{"get":{"tags":["Product Service","Cooperation Conclusions"],"summary":"Kooperatsiya xulosasini ko'rish","description":"Bitta CooperationConclusion yozuvini ID orqali qaytaradi","operationId":"cooperationConclusionsShow","parameters":[{"name":"cooperationConclusion","in":"path","description":"CooperationConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Xulosa muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/CooperationConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Cooperation Conclusions"],"summary":"Kooperatsiya xulosasini yangilash","description":"Xulosa ma'lumotlarini qisman yangilaydi","operationId":"cooperationConclusionsUpdate","parameters":[{"name":"cooperationConclusion","in":"path","description":"CooperationConclusion ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CooperationConclusionRequest"}}}},"responses":{"200":{"description":"Xulosa muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Xulosa muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/CooperationConclusionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"403":{"description":"Imzolangan yoki rad etilgan xulosani o'zgartirish mumkin emas"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Cooperation Conclusions"],"summary":"Kooperatsiya xulosasini o'chirish","description":"Xulosani o'chirish","operationId":"4d7320f5a2453f8075171fdfb676e9b0","parameters":[{"name":"cooperationConclusion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"403":{"description":"Imzolangan yoki rad etilgan xulosani o'chirish mumkin emas"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/cotton-facility-reports":{"get":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomalarini ro'yxatini olish","operationId":"9d1dd88c5e2d2c08bb9cca0b4c9ddb73","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi, stir, maskan manzili va maskan nomi bo'yicha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","number","date","name","stir","status","type","regional_department_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CottonFacilityReportResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini qo'shish","description":"Paxta maskan dalolatnomasi qo'shiladi","operationId":"cottonFacilityReportsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CottonFacilityReportRequest"}}}},"responses":{"201":{"description":"Dalolatnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Paxta maskan dalolatnomasi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CottonFacilityReportResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cotton-facility-reports\/{cottonFacilityReport}":{"get":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini ko'rish","description":"Bitta paxta maskan dalolatnomasini ID orqali qaytaradi","operationId":"cottonFacilityReportsShow","parameters":[{"name":"cottonFacilityReport","in":"path","description":"cottonFacilityReport ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Paxta maskan dalolatnomasi muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/CottonFacilityReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini yangilash","description":"Dalolatnoma ma'lumotlarini qisman yangilaydi","operationId":"cottonFacilityReportsUpdate","parameters":[{"name":"cottonFacilityReport","in":"path","description":"cottonFacilityReport ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/CottonFacilityReportRequest"}}}},"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Paxta maskan dalolatnomasi muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/CottonFacilityReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini o'chirish","description":"Dalolatnomani o'chirish","operationId":"43273ee321da0e07502e251e8494cdbe","parameters":[{"name":"cottonFacilityReport","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/cotton-facility-reports\/{cottonFacilityReport}\/reject":{"post":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini rad etish","description":"Paxta maskan dalolatnomasini rad etadi va sababini saqlaydi","operationId":"cottonFacilityReportReject","parameters":[{"name":"cottonFacilityReport","in":"path","description":"Paxta maskan dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Ma'lumotlar noto'g'ri kiritilgan"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma rad etildi"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/cotton-facility-reports\/{cottonFacilityReport}\/sign":{"post":{"tags":["Product Service","Cotton Facility Reports"],"summary":"Paxta maskan dalolatnomasini imzolash","description":"Paxta maskan dalolatnomasini ECP bilan imzolash","operationId":"cottonFacilityReportSign","parameters":[{"name":"cottonFacilityReport","in":"path","description":"Paxta maskan dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["signature"],"properties":{"signature":{"description":"Imzo (base64\/pkcs7 formatda)","type":"string","example":"base64_signature_data"},"file":{"description":"Imzolangan dalolatnoma fayli (PDF)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imzo muvaffaqiyatli qo'yildi"},"data":{"properties":{"all_signed":{"type":"boolean","example":false}},"type":"object"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"404":{"description":"Dalolatnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/dashboard\/statistics":{"get":{"tags":["Product Service","Dashboard Statistics"],"summary":"Foydalanuchilar, paxta klasterlari, kooperatsiyalar, yo'g' moy korxonalari, don korxonalari, g'allachilik klasterlari, un ishlab chiqarish tegirmonlari","operationId":"077d258eafb30edc7a1bb6b691760e34","responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli olindi"},"data":{"properties":{"cotton_clasters":{"type":"integer","example":10},"cooperations":{"type":"integer","example":25},"cotton_intake_points":{"type":"integer","example":15},"oil_fat_enterprises":{"type":"integer","example":8},"grain_enterprises":{"type":"integer","example":12},"grain_clasters":{"type":"integer","example":5},"grain_intake_points":{"type":"integer","example":20},"mill_enterprises":{"type":"integer","example":7}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/dashboard\/statistics-by-grain-arbitraj":{"get":{"tags":["Product Service","Dashboard Statistics"],"summary":"Don arbitraj ya'ni nizoli holatlar korxona yoki fermer foydasiga hal etilganlari","operationId":"2abd995e5949cf3101bcbbab4827c609","parameters":[{"name":"year","in":"query","description":"Sanasi bo'icha ma'lumotlarni olish.","required":false,"schema":{"type":"string","format":"Y-m-d","example":"2024-01-01"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli olindi"},"data":{"properties":{"for_farmer":{"type":"integer","example":10},"for_enterprise":{"type":"integer","example":25}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/dashboard\/statistics-oil-fat-actions":{"get":{"tags":["Product Service","Dashboard Statistics"],"summary":"Yog' moy korxonalari faoliyatini o'rganish dalolatnomasi tas'sir choralari bo'icha","operationId":"6c305d0dc7c3072302019cbc4f343805","parameters":[{"name":"year","in":"query","description":"Sanasi bo'icha ma'lumotlarni olish.","required":false,"schema":{"type":"string","format":"Y-m-d","example":"2024-01-01"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli olindi"},"data":{"properties":{"warning":{"type":"integer","example":10},"written_instruction":{"type":"integer","example":25},"administrative_report":{"type":"integer","example":25}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/dashboard\/statistics-by-cotton-arbitraj":{"get":{"tags":["Product Service","Dashboard Statistics"],"summary":"Korxonalar statistikasini turlar bo'yicha olish","operationId":"aa2210e57bd46128ed5e0c8f0d0c2041","parameters":[{"name":"year","in":"query","description":"Sanasi bo'icha ma'lumotlarni olish.","required":false,"schema":{"type":"string","format":"Y-m-d","example":"2024-01-01"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli olindi"},"data":{"properties":{"for_farmer":{"type":"integer","example":10},"for_enterprise":{"type":"integer","example":25}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/dashboard\/statistics-facility-conclusions":{"get":{"tags":["Product Service","Dashboard Statistics"],"summary":"Maskanlarga berilgan xulosalar","operationId":"9ef5616f1aaa559cdef36cc01e6d2997","parameters":[{"name":"year","in":"query","description":"Sanasi bo'icha ma'lumotlarni olish.","required":false,"schema":{"type":"string","format":"Y-m-d","example":"2024-01-01"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli olindi"},"data":{"properties":{"grain_enterprises":{"type":"integer","example":10},"grain_clasters":{"type":"integer","example":10},"grain_cooperations":{"type":"integer","example":10},"cooperation_clasters":{"type":"integer","example":10},"cooperation_cooperations":{"type":"integer","example":25},"seed_clasters":{"type":"integer","example":5},"seed_cooperations":{"type":"integer","example":7}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/enterprises":{"get":{"tags":["Product Service","Enterprises"],"summary":"Korxonalar ro'yxatini olish","operationId":"de1e4dfb819df311c2fd84dda9a68d84","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","legal_name","stir","type","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Enterprise"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/enterprises\/{id}":{"get":{"tags":["Product Service","Enterprises"],"summary":"Korxonani ID bo'yicha olish","operationId":"670983d10d8753f5f7e99a34e21ee2e6","parameters":[{"name":"id","in":"path","description":"Korxona ID raqami","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ma'lumot muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/Enterprise"}},"type":"object"}}}},"404":{"description":"Korxona topilmadi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/enterprises\/stir\/{stir}":{"get":{"tags":["Product Service","Enterprises"],"summary":"Korxonani STIR raqami bo'yicha olish","operationId":"f5d9199dfe0e2f665ff922fc1b368a22","parameters":[{"name":"stir","in":"path","description":"Korxona STIR raqami","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ma'lumot muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/Enterprise"}},"type":"object"}}}},"404":{"description":"Korxona topilmadi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/facility-conclusion-reports":{"get":{"tags":["Product Service","Facility Reports"],"summary":"Maskan moddiy texnika bazasi haqida xulosa berish dalolatnomalarini ro'yxatini olish","operationId":"99459dedec9de864928f7c1051efcddc","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"type","in":"query","description":"Dalolatnoma turi bo'icha chiqarish.(1 - Don korxonlarari, 2 - G'allachilik klasteri, 3 - Kooperatsiyalar)","required":false,"schema":{"type":"integer","default":1,"maximum":3,"minimum":1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","company_name","company_stir","report_number","date","status","type","region_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Facility Reports"],"summary":"Moddiy texnika bazasi haqida maskanga xulosa berish dalolatnomasini qo'shish","description":"Maskanga xulosa berish dalolatnomasi qo'shiladi","operationId":"facilityReportsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/FacilityConclusionReportRequest"}}}},"responses":{"201":{"description":"Dalolatnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/facility-conclusion-reports\/{facilityConclusionReport}":{"get":{"tags":["Product Service","Facility Reports"],"summary":"Facility reportni ko'rish (show)","description":"Bitta FacilityConclusionReport yozuvini ID orqali qaytaradi","operationId":"facilityReportsShow","parameters":[{"name":"facilityConclusionReport","in":"path","description":"FacilityConclusionReport ID (Route model binding)","required":true,"schema":{"type":"integer","example":15}}],"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi (Not Found)"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Facility Reports"],"summary":"Dalolatnomani yangilash (partial update)","description":"Facility report ma'lumotlarini qisman yangilaydi (faqat yuborilgan fieldlar update qilinadi)","operationId":"facilityReportsUpdate","parameters":[{"name":"facilityConclusionReport","in":"path","description":"FacilityConclusionReport ID","required":true,"schema":{"type":"integer","example":15}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"company_name":{"type":"string","example":"MTP Farg'ona 1"},"collection_point":{"type":"string","example":"Qo'qon shahar don qabul punkti"},"date":{"type":"string","format":"date","example":"2026-01-25"},"report_number":{"type":"integer","example":1001},"status":{"description":"Xulosa holati","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"equipment_and_supply":{"$ref":"#\/components\/schemas\/FacilityEquipmentAndSupply"},"files[elevator][]":{"description":"Elevator fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[warehouse][]":{"description":"Ombor fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[porch][]":{"description":"Navs fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[conclusion][]":{"description":"Xulosa fayllari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Facility Reports"],"summary":"Dalolatnoma o'chirish","description":"Maskanga xulosa berish dalolatnomasini o'chirish","operationId":"4123e91374862d2e9ad50c832c1740df","parameters":[{"name":"facilityConclusionReport","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/facility-conclusion-reports\/{facilityConclusionReport}\/upload-file":{"post":{"tags":["Product Service","Facility Reports"],"summary":"Maskanga dalolatnomasiga fayl yuklash","description":"Maskanga dalolatnomasiga bitta fayl yuklaydi (jpg, png, pdf, doc, docx va boshqalar)","operationId":"facilityReportsUploadFile","parameters":[{"name":"facilityConclusionReport","in":"path","description":"Dalolatnoma ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Yuklash uchun fayl (max 10MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Fayl muvaffaqiyatli yuklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Fayl muvaffaqiyatli yuklandi"},"data":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"type":"object"}}}},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/facility-conclusion-reports\/{facilityConclusionReport}\/reject":{"post":{"tags":["Product Service","Facility Reports"],"summary":"Maskanga dalolatnomasini rad etish","description":"Maskanga dalolatnomasini rad etadi va sababini saqlaydi","operationId":"facilityReportsReject","parameters":[{"name":"facilityConclusionReport","in":"path","description":"Dalolatnoma ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Jihozlar talabga javob bermaydi"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma rad etildi"},"data":{"$ref":"#\/components\/schemas\/FacilityConclusionReportResponse"}},"type":"object"}}}},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/permissions":{"get":{"tags":["Product Service","Product Permission Management"],"summary":"Ruxsatlar ro'yxati","description":"Product service ruxsatlarini guruhlar bilan olish","operationId":"d2b3fcfe5df143cd7dd3974b2d9d2a4b","responses":{"200":{"description":"Ruxsatlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Tegirmon dalolatnomalari"},"key":{"type":"string","example":"mill-reports"},"permissions":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"mill-reports.view"},"display_name":{"type":"string","example":"Ko'rish"}},"type":"object"}}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/roles":{"get":{"tags":["Product Service","Product Role Management"],"summary":"Rollar ro'yxati","description":"Product service rollarini olish","operationId":"295bfa3cb6fc00ccaccad319cee5ddcf","parameters":[{"name":"with_users","in":"query","description":"Foydalanuvchilar sonini qo'shish","required":false,"schema":{"type":"boolean"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","name","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Rollar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"product-admin"},"permissions":{"type":"array","items":{"type":"object"}},"users_count":{"type":"integer","example":5,"nullable":true}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Product Service","Product Role Management"],"summary":"Yangi rol qo'shish","description":"Product service uchun yangi rol yaratish","operationId":"6dbc81680383d6f81b0cda5f0274dce5","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Rol nomi (faqat harflar, raqamlar, tire va pastki chiziq)","type":"string"},"permissions":{"description":"Ruxsat IDlari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Rol muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/roles\/{role}":{"get":{"tags":["Product Service","Product Role Management"],"summary":"Rol ma'lumotlari","operationId":"0aa14ab7ca6645baf7bcac4c6d07eb5c","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Product Role Management"],"summary":"Rolni yangilash","description":"Rol ma'lumotlarini yangilash","operationId":"88b81d7e16ae4b69bfaf945679d97be4","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Rol nomi","type":"string"},"permissions":{"description":"Ruxsat IDlari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Rol muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Product Role Management"],"summary":"Rolni o'chirish","operationId":"02150d9aa7bbaf55c2aa03a5f5fb7a0a","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Rolga biriktirilgan foydalanuvchilar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu rolga biriktirilgan foydalanuvchilar mavjud"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/roles\/{role}\/permissions":{"post":{"tags":["Product Service","Product Role Management"],"summary":"Rolga ruxsatlarni biriktirish","description":"Rolga ruxsatlar ro'yxatini sinxronlash","operationId":"6480138528f0784b975d1b1db226a485","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permissions"],"properties":{"permissions":{"description":"Ruxsat IDlari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Ruxsatlar muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ruxsatlar muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/users":{"get":{"tags":["Product Service","Product User Management"],"summary":"Foydalanuvchilar ro'yxati","description":"Product service foydalanuvchilarini filterlash va sahifalash bilan olish","operationId":"f92d88c66a9fad4af6acd7dcbb0a0c27","parameters":[{"name":"search","in":"query","description":"Ism, familiya yoki email bo'yicha qidirish","required":false,"schema":{"type":"string","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"role_id","in":"query","description":"Rol ID bo'yicha filterlash","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Foydalanuvchilar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"John"},"lastname":{"type":"string","example":"Doe"},"email":{"type":"string","example":"john@example.com"},"is_active":{"type":"boolean","example":true}},"type":"object"}},"meta":{"properties":{"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Product Service","Product User Management"],"summary":"Yangi foydalanuvchi qo'shish","description":"Product service uchun yangi foydalanuvchi yaratish","operationId":"025f5c0c7ce45eb558359b53946f0461","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","lastname","email","password","password_confirmation","roles"],"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzil","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 belgi)","type":"string","minLength":8},"password_confirmation":{"description":"Parolni tasdiqlash","type":"string"},"roles":{"description":"Rol IDlari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/users\/{user}":{"get":{"tags":["Product Service","Product User Management"],"summary":"Foydalanuvchi ma'lumotlari","operationId":"2a44284fafa3140c69bac3b76c35f558","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Product User Management"],"summary":"Foydalanuvchini yangilash","description":"Foydalanuvchi ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"291a7875a3a18687d1f406b1d40853bd","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzil","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 belgi)","type":"string","minLength":8},"password_confirmation":{"description":"Parolni tasdiqlash","type":"string"},"roles":{"description":"Rol IDlari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Foydalanuvchi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Product User Management"],"summary":"Foydalanuvchini o'chirish","operationId":"352c53ae708d70867a229257ebac5048","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"O'zingizni o'chira olmaysiz","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"O'zingizni o'chira olmaysiz"}},"type":"object"}}}},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/users\/{id}\/restore":{"post":{"tags":["Product Service","Product User Management"],"summary":"O'chirilgan foydalanuvchini tiklash","operationId":"5c7b777f3b9d9ded5aadfeb222d26e74","parameters":[{"name":"id","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli tiklandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/product-manage\/users\/{user}\/toggle-status":{"post":{"tags":["Product Service","Product User Management"],"summary":"Foydalanuvchi holatini o'zgartirish","description":"Foydalanuvchining is_active holatini teskari qiymatga o'zgartirish","operationId":"d9ce58b4ca267ac5f8037679edb21ab4","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi faollashtirildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mill-reports":{"get":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon dalolatnomalarini ro'yxatini olish","operationId":"f248844e603254aee33faa780b15a1ad","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","report_date","llc_company_name","company_stir","status","region_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/MillReportResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon holati haqida dalolatnomani qo'shish","description":"Tegirmon holati haqida yangi dalolatnoma yaratadi","operationId":"millReportsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/MillReportRequest"}}}},"responses":{"201":{"description":"Dalolatnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/MillReportResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"district_id":["District maydoni to'ldirilishi shart"]}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mill-reports\/{millReport}":{"get":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon dalolatnomasini ko'rish (show)","description":"Bitta MillReport yozuvini ID orqali qaytaradi","operationId":"millReportsShow","parameters":[{"name":"millReport","in":"path","description":"MillReport ID (Route model binding)","required":true,"schema":{"type":"integer","example":15}}],"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/MillReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi (Not Found)"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon dalolatnomasini yangilash","description":"MillReport ma'lumotlarini yangilaydi","operationId":"millReportsUpdate","parameters":[{"name":"millReport","in":"path","description":"MillReport ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/MillReportRequest"}}}},"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/MillReportResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"district_id":["District maydoni to'ldirilishi shart"]}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Mill Reports"],"summary":"Dalolatnoma o'chirish","description":"Tegirmon holati dalolatnomasini o'chirish","operationId":"5742ccf4924ffdf9e2dde0eabe8520e8","parameters":[{"name":"millReport","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/mill-reports\/{millReport}\/reject":{"post":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon dalolatnomasini rad etish","description":"Dalolatnomani rad etadi va sababini saqlaydi","operationId":"millReportReject","parameters":[{"name":"millReport","in":"path","description":"Tegirmon dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Ma'lumotlar noto'g'ri kiritilgan"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma rad etildi"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"403":{"description":"Yaratuvchi rad eta olmaydi"},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/mill-reports\/{millReport}\/sign":{"post":{"tags":["Product Service","Mill Reports"],"summary":"Tegirmon dalolatnomasini imzolash","description":"Dalolatnomani ECP bilan imzolash","operationId":"millReportSign","parameters":[{"name":"millReport","in":"path","description":"Tegirmon dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["signature"],"properties":{"signature":{"description":"Imzo (base64\/pkcs7 formatda)","type":"string","example":"base64_signature_data"},"file":{"description":"Imzolangan dalolatnoma fayli (PDF)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imzo muvaffaqiyatli qo'yildi"},"data":{"properties":{"all_signed":{"type":"boolean","example":false}},"type":"object"}},"type":"object"}}}},"400":{"description":"Bu dalolatnoma bilan amal qilish imkoni yo'q"},"404":{"description":"Dalolatnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/oil-fat-reports":{"get":{"tags":["Product Service","Oil Fat Reports"],"summary":"Yog'-moy dalolatnomalarini ro'yxatini olish","operationId":"7cc041ff480e1f5fe2e185480d4ff1cc","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"waiting","nullable":true,"default":"waiting","enum":["waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi,stir va maskan nomi bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","report_number","report_date","name","stir","status","region_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/OilFatReportResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Oil Fat Reports"],"summary":"Yog'-moy dalolatnomasini qo'shish","description":"Yog'-moy dalolatnomasi qo'shiladi","operationId":"oilFatReportsStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/OilFatReportRequest"}}}},"responses":{"201":{"description":"Dalolatnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/OilFatReportResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/oil-fat-reports\/{oilFatReport}":{"get":{"tags":["Product Service","Oil Fat Reports"],"summary":"Yog'-moy dalolatnomasini ko'rish","description":"Bitta OilFatReport yozuvini ID orqali qaytaradi","operationId":"oilFatReportsShow","parameters":[{"name":"oilFatReport","in":"path","description":"OilFatReport ID","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/OilFatReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Oil Fat Reports"],"summary":"Yog'-moy dalolatnomasini yangilash","description":"Dalolatnoma ma'lumotlarini qisman yangilaydi","operationId":"oilFatReportsUpdate","parameters":[{"name":"oilFatReport","in":"path","description":"OilFatReport ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/OilFatReportRequest"}}}},"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/OilFatReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Product Service","Oil Fat Reports"],"summary":"Yog'-moy dalolatnomasini o'chirish","description":"Dalolatnomani o'chirish","operationId":"51f69369deb156bb7735f28d3940377a","parameters":[{"name":"oilFatReport","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/grain-inspection-reports":{"get":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Tozalov dalolatnomasi 30-shakli ro'yxatini olish","operationId":"f42ec8068714eb42180ffccaf66a1991","parameters":[{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"status","in":"query","description":"Holati: draft (qoralama), waiting (kutilmoqda), rejected (rad etilgan), signed (imzolangan)","required":false,"schema":{"type":"string","example":"draft","nullable":true,"default":"draft","enum":["draft","waiting","rejected","signed"]}},{"name":"search","in":"query","description":"Korxona nomi va stir bo'icha qidiruv","required":false,"schema":{"type":"string","default":"Nimadir"}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","enterprise_name","company_stir","status","region_id","district_id","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful operation","content":{"application\/json":{"schema":{"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}},"post":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Create Grain Inspection Report","operationId":"storeGrainInspectionReport","requestBody":{"required":true,"content":{"application\/json":{"schema":{"allOf":[{"$ref":"#\/components\/schemas\/GrainInspectionReportRequest"},{"properties":{"previous_cleaning_acts":{"type":"array","items":{"$ref":"#\/components\/schemas\/PreviousCleaningAct"},"nullable":true}},"type":"object"}]}}}},"responses":{"201":{"description":"Created","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yaratildi"},"data":{"allOf":[{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"},{"properties":{"previous_cleaning_acts":{"type":"array","items":{"$ref":"#\/components\/schemas\/PreviousCleaningAct"},"nullable":true}},"type":"object"}]}},"type":"object"}}}},"422":{"description":"Validation error"}}}},"\/api\/v1\/grain-inspection-reports\/{grainInspectionReport}":{"get":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Tozalov dalolatnomasi 30-shaklini ko\u2018rish","description":"Bitta tozalov dalolatnomasi 30-shakli yozuvini ID orqali qaytaradi","operationId":"grainInspectionReportsShow","parameters":[{"name":"grainInspectionReport","in":"path","description":"grainInspectionReport ID (Route model binding)","required":true,"schema":{"type":"integer","example":15}}],"responses":{"200":{"description":"Dalolatnoma muvaffaqiyatli olindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli olindi"},"data":{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Topilmadi (Not Found)"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Update Grain Inspection Report","description":"Updates a grain inspection report. Optionally updates previous cleaning acts as nested array.","operationId":"updateGrainInspectionReport","parameters":[{"name":"grainInspectionReport","in":"path","description":"Grain inspection report ID","required":true,"schema":{"type":"integer"},"example":1}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"allOf":[{"$ref":"#\/components\/schemas\/GrainInspectionReportRequest"},{"properties":{"previous_cleaning_acts":{"description":"List of previous cleaning acts to update\/create. If items contain id -> update, if not -> create (implementation-specific).","type":"array","items":{"$ref":"#\/components\/schemas\/PreviousCleaningAct"},"nullable":true}},"type":"object"}]}}}},"responses":{"200":{"description":"Updated","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma muvaffaqiyatli yangilandi"},"data":{"allOf":[{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"},{"properties":{"previous_cleaning_acts":{"type":"array","items":{"$ref":"#\/components\/schemas\/PreviousCleaningAct"},"nullable":true}},"type":"object"}]}},"type":"object"}}}},"404":{"description":"Not found"},"422":{"description":"Validation error"}}},"delete":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Dalolatnoma o'chirish","description":"Tozalov dalolatnomasi 30-shakli o'chirish","operationId":"c88d9199c0ca4fd00b850bad11904d83","parameters":[{"name":"grainInspectionReport","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}}}},"\/api\/v1\/grain-inspection-reports\/{grainInspectionReport}\/specialist-report":{"put":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Mintaqaviy departament mutaxassislari xulosasini yangilash","description":"Mavjud mutaxassis xulosasini tahrirlaydi","operationId":"grainInspectionReportUpdateSpecialistReport","parameters":[{"name":"grainInspectionReport","in":"path","description":"Tozalov dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["date","addition_to_quantity_difference","explanation","writeoff_of_shortage","unjustified_shortage_excess_balance","refusal_for_reason","idh_id","financial_responsible_person_full_name"],"properties":{"date":{"type":"string","format":"date","example":"2026-05-09"},"addition_to_quantity_difference":{"type":"object"},"explanation":{"type":"string","example":"Izoh matni"},"writeoff_of_shortage":{"type":"object"},"unjustified_shortage_excess_balance":{"type":"object"},"refusal_for_reason":{"type":"string","example":"Sabab matni"},"idh_id":{"description":"Inspeksiya boshqarma boshlig'i ID","type":"integer","example":1},"financial_responsible_person_full_name":{"type":"string","example":"Toshmatov A.B."}},"type":"object"}}}},"responses":{"200":{"description":"Mutaxassis xulosasi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mintaqaviy mutaxassis xulosasi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/RegionalDepartmentSpecialistReport"}},"type":"object"}}}},"404":{"description":"Tozalov dalolatnomasi yoki mutaxassis xulosasi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Mintaqaviy departament mutaxassislari xulosasini yaratish","description":"Tozalov dalolatnomasi uchun mintaqaviy departament mutaxassislari xulosasini yaratadi","operationId":"storeSpecialistReport","parameters":[{"name":"grainInspectionReport","in":"path","description":"Tozalov dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["date","specialist_full_name","region","regional_specialist_full_name","specialist_signature","financial_responsible_person_full_name","responsible_person_signature"],"properties":{"date":{"type":"string","format":"date","example":"2026-02-09"},"specialist_full_name":{"type":"string","example":"Karimov Jasur"},"region":{"type":"string","example":"Toshkent"},"status":{"description":"Xulosa holati (draft - Qoralama, waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","nullable":true,"enum":["draft","waiting","rejected","signed"]},"explanation":{"type":"string","nullable":true},"addition_to_quantity_difference":{"description":"Miqdor farqiga qo'shimcha: a(foiz, og'irlik), b(foiz, og'irlik), overall_weight","properties":{"a":{"properties":{"percentage":{"type":"number","example":1.5},"weight":{"type":"number","example":50}},"type":"object"},"b":{"properties":{"percentage":{"type":"number","example":0.8},"weight":{"type":"number","example":25}},"type":"object"},"overall_weight":{"type":"number","example":75}},"type":"object","nullable":true},"writeoff_of_shortage":{"description":"Kamolligini yozib tashlash: grain, a(foiz, og'irlik), b(foiz, og'irlik), v(foiz, og'irlik), total_justification, total_justification_in_words","properties":{"grain":{"type":"string","example":"Bug'doy"},"a":{"properties":{"percentage":{"type":"number","example":1.25},"weight":{"type":"number","example":12.5}},"type":"object"},"b":{"properties":{"percentage":{"type":"number","example":0.5},"weight":{"type":"number","example":5}},"type":"object"},"v":{"properties":{"percentage":{"type":"number","example":0.25},"weight":{"type":"number","example":2.5}},"type":"object"},"total_justification":{"type":"number","example":20},"total_justification_in_words":{"type":"string","example":"Yigirma"}},"type":"object","nullable":true},"unjustified_shortage_excess_balance":{"description":"Asoslanmagan kamollik va ortiqcha balans: defecit, overage","properties":{"defecit":{"type":"integer","example":10},"overage":{"type":"integer","example":0}},"type":"object","nullable":true},"refusal_for_reason":{"type":"string","nullable":true},"idh_id":{"description":"Inspeksiya boshqarmasi boshlig'i","type":"integer","nullable":false},"financial_responsible_person_full_name":{"type":"string","example":"Ismoilov Sardor"}},"type":"object"}}}},"responses":{"201":{"description":"Muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"required":["success","message","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Mintaqaviy mutaxassis xulosasi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/RegionalDepartmentSpecialistReport"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Tozalov dalolatnomasi topilmadi"},"409":{"description":"Bu tozalov uchun allaqachon xulosasi mavjud"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/grain-inspection-reports\/{grainInspectionReport}\/idh-sign":{"post":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Tozalov dalolatnomasini inspeksiya boshqarma boshlig'i tomonidan imzolash","description":"Tozalov dalolatnomasini inspeksiya boshqarma boshlig'i imzolaydi","operationId":"grainInspectionReportIdhSign","parameters":[{"name":"grainInspectionReport","in":"path","description":"Tozalov dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["signature"],"properties":{"signature":{"description":"Inspeksiya boshqarma boshlig'i imzosi","type":"string","example":"signatures\/idh_12345.png"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma inspeksiya boshqarma boshlig'i tomonidan imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma inspeksiya boshqarma boshlig'i tomonidan imzolandi"},"data":{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"}},"type":"object"}}}},"400":{"description":"Xatolik"},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/grain-inspection-reports\/{grainInspectionReport}\/idh-reject":{"post":{"tags":["Product Service","Grain Inspection Reports"],"summary":"Tozalov dalolatnomasini inspeksiya boshqarma boshlig'i tomonidan rad etish","description":"Tozalov dalolatnomasini inspeksiya boshqarma boshlig'i rad etadi va sababini saqlaydi","operationId":"grainInspectionReportIdhReject","parameters":[{"name":"grainInspectionReport","in":"path","description":"Tozalov dalolatnomasi ID","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["comment"],"properties":{"comment":{"description":"Rad etish sababi","type":"string","example":"Xatolik topildi, qayta tekshiring"}},"type":"object"}}}},"responses":{"200":{"description":"Dalolatnoma inspeksiya boshqarma boshlig'i tomonidan rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Dalolatnoma inspeksiya boshqarma boshlig'i tomonidan rad etildi"},"data":{"$ref":"#\/components\/schemas\/GrainInspectionReportResponse"}},"type":"object"}}}},"400":{"description":"Xatolik"},"404":{"description":"Dalolatnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/signing":{"post":{"tags":["Product Service","Sign & Reject"],"summary":"Hisobot yoki xulosani imzolash","operationId":"f683c20b8cf4acb3ed1ce550f2514692","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/SignRequestBody"}}}},"responses":{"200":{"description":"Muvaffaqiyatli imzolandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Imzo muvaffaqiyatli qo'yildi"},"data":{"properties":{"all_signed":{"type":"boolean","example":false}},"type":"object"}},"type":"object"}}}},"400":{"description":"Xatolik"},"404":{"description":"Hujjat topilmadi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/rejecting":{"post":{"tags":["Product Service","Sign & Reject"],"summary":"Hisobot yoki xulosani rad etish","operationId":"558a9171a2993fe8928124213be046b0","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/RejectRequestBody"}}}},"responses":{"200":{"description":"Muvaffaqiyatli rad etildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hujjat rad etildi"}},"type":"object"}}}},"400":{"description":"Xatolik"},"404":{"description":"Hujjat topilmadi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}}}},"\/api\/v1\/reporting\/cooperation-conclusions":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Kooperatsiya xulosa hisoboti"],"summary":"Kooperatsiya xulosa hisoboti","description":"Kooperatsiyalarga berilgan xulosalar hisoboti.\n\n**view=summary** \u2014 Respublika yig'masi (14 viloyat bo'yicha)\n\n**view=region** \u2014 Tanlangan viloyatdagi kooperatsiyalar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha kooperatsiyalar sahifalangan holda","operationId":"992b88e58c829ec8ec0bf3848cc84eba","parameters":[{"name":"view","in":"query","description":"Hisobot turi","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"type","in":"query","description":"Kooperatsiya turi","required":false,"schema":{"type":"string","enum":["cooperation_clasters","cooperation_cooperations","seed_clasters","seed_cooperations"]}},{"name":"status","in":"query","description":"Holat","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","required":false,"schema":{"type":"string","format":"date"}},{"name":"meets_requirements","in":"query","description":"Talabga muvofiqlik","required":false,"schema":{"type":"boolean"}},{"name":"search","in":"query","description":"Qidiruv (nomi, STIR, manzil)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","description":"Yil","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (faqat enterprises)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","date","name","stir","type","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Hisobot ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"type":"array","items":{"properties":{"region_id":{"type":"integer"},"region_name":{"type":"string"},"total_conclusions":{"type":"integer"},"conclusion_given":{"type":"integer"},"conclusion_not_given":{"type":"integer"},"rejected":{"type":"integer"},"in_progress":{"type":"integer"},"members":{"properties":{"farmers_count":{"type":"integer"},"area_hectares":{"type":"number"},"harvest_plan_tons":{"type":"number"}},"type":"object"},"by_type":{"properties":{"cooperation_clasters":{"type":"integer"},"cooperation_cooperations":{"type":"integer"},"seed_clasters":{"type":"integer"},"seed_cooperations":{"type":"integer"}},"type":"object"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/cooperation-conclusions\/export":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Kooperatsiya xulosa hisoboti"],"summary":"Kooperatsiya xulosa hisobotini Excel formatida yuklab olish","description":"Excel export.\n\n**format=summary** \u2014 Respublika svod (1 sheet)\n\n**format=region** \u2014 Bitta viloyat (region_id majburiy)\n\n**format=full** \u2014 To'liq: Svod + 14 viloyat + Umumiy baza","operationId":"08a4fc313e698012b7daef2e83aaecef","parameters":[{"name":"format","in":"query","description":"Export formati","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["cooperation_clasters","cooperation_cooperations","seed_clasters","seed_cooperations"]}},{"name":"region_id","in":"query","description":"Viloyat ID (format=region uchun)","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/cotton-conclusions":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Nizoli holatlar (Arbitraj)"],"summary":"Paxta arbitraj (nizoli holatlar) hisoboti","description":"Mobil arbitraj guruhlari tomonidan hal etilgan nizoli holatlar hisoboti.\n\n**view=summary** \u2014 Respublika yig'masi (14 viloyat bo'yicha)\n\n**view=district** \u2014 Tanlangan viloyatdagi tumanlar bo'yicha (region_id majburiy)\n\n**view=region** \u2014 Viloyatdagi barcha xulosalar ro'yxati (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha xulosalar sahifalangan holda","operationId":"e5c9c3bbfd79aab89f2da70f67b396f5","parameters":[{"name":"view","in":"query","description":"Hisobot turi","required":true,"schema":{"type":"string","default":"summary","enum":["summary","district","region","enterprises"]}},{"name":"status","in":"query","description":"Holat","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=district\/region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","required":false,"schema":{"type":"integer"}},{"name":"comment","in":"query","description":"Xulosa turi","required":false,"schema":{"type":"string","enum":["for_farmer","for_enterprise"]}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Qidiruv (korxona, STIR, maskan, klaster)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","reweight_date","enterprise_name","stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Arbitraj hisobot ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"type":"array","items":{"properties":{"region_id":{"type":"integer"},"region_name":{"type":"string"},"total_appeals":{"type":"integer"},"for_farmer":{"properties":{"count":{"type":"integer"},"percent":{"type":"number"},"by_grade_class":{"type":"integer"},"by_impurity_moisture":{"type":"integer"}},"type":"object"},"for_enterprise":{"properties":{"count":{"type":"integer"},"percent":{"type":"number"},"by_grade_class":{"type":"integer"},"by_impurity_moisture":{"type":"integer"}},"type":"object"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/cotton-conclusions\/export":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Nizoli holatlar (Arbitraj)"],"summary":"Paxta arbitraj hisobotini Excel formatida yuklab olish","description":"Excel export.\n\n**format=summary** \u2014 Respublika svod (1 sheet)\n\n**format=district** \u2014 Tumanlar bo'yicha tafsilot (14 viloyat sheetlari)\n\n**format=full** \u2014 To'liq: Svod + Tumanlar + Baza","operationId":"7a9237aeb66e18e2205193b2541bd82e","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","district","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"comment","in":"query","required":false,"schema":{"type":"string","enum":["for_farmer","for_enterprise"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/facility-conclusions":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Maskan tayorgarligi"],"summary":"Paxta maskan tayorgarligi hisoboti","description":"Paxta qabul qilish maskanlarining tayorgarligi.\n\n**view=summary** \u2014 Respublika yig'masi (14 viloyat)\n\n**view=region** \u2014 Viloyatdagi maskanlar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha maskanlar sahifalangan holda","operationId":"7dcd0cd401702d96757e8d9d0806b56b","parameters":[{"name":"view","in":"query","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Qidiruv (korxona, STIR, maskan)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","date","company_name","company_stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Maskan tayorgarligi hisoboti"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/facility-conclusions\/export":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Maskan tayorgarligi"],"summary":"Maskan tayorgarligi hisobotini Excel formatida yuklab olish","description":"**format=summary** \u2014 Respublika svod\n\n**format=region** \u2014 Bitta viloyat (region_id majburiy)\n\n**format=full** \u2014 To'liq hisobot","operationId":"a3483f958a11101bb60499902b4c4cb0","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-conclusions":{"get":{"tags":["Reporting Service","Don bo'limi \/ Nizoli holatlar (Arbitraj)"],"summary":"Don arbitraj (nizoli holatlar) hisoboti","description":"Don arbitraj guruhlari tomonidan hal etilgan nizolar.\n\n**view=summary** \u2014 Respublika yig'masi\n\n**view=region** \u2014 Viloyatdagi xulosalar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha xulosalar sahifalangan holda","operationId":"9aa5e35bb0f9a78b5224fdb0d53fa077","parameters":[{"name":"view","in":"query","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"comment","in":"query","description":"Xulosa turi","required":false,"schema":{"type":"string","enum":["for_farmer","for_enterprise"]}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","reweight_date","enterprise_name","stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Don arbitraj hisobot"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-conclusions\/export":{"get":{"tags":["Reporting Service","Don bo'limi \/ Nizoli holatlar (Arbitraj)"],"summary":"Don arbitraj hisobotini Excel formatida yuklab olish","description":"**format=summary** \u2014 Respublika svod\n\n**format=region** \u2014 Bitta viloyat\n\n**format=full** \u2014 To'liq hisobot","operationId":"b87aee8559d6ac289fb30c54ee787cf8","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"comment","in":"query","required":false,"schema":{"type":"string","enum":["for_farmer","for_enterprise"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-facilities":{"get":{"tags":["Reporting Service","Don bo'limi \/ Moddiy-texnika bazasi"],"summary":"Don moddiy-texnika bazasi hisoboti","description":"Don qabul qilish korxonalari moddiy-texnika bazasi.\n\n**view=summary** \u2014 Respublika yig'masi\n\n**view=region** \u2014 Viloyatdagi korxonalar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha korxonalar sahifalangan holda","operationId":"b66e8ea040aa8cee4985d554ef90109a","parameters":[{"name":"view","in":"query","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","date","company_name","company_stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Moddiy-texnika bazasi hisoboti"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-facilities\/export":{"get":{"tags":["Reporting Service","Don bo'limi \/ Moddiy-texnika bazasi"],"summary":"Moddiy-texnika bazasi hisobotini Excel formatida yuklab olish","description":"**format=summary** \u2014 Respublika svod\n\n**format=region** \u2014 Bitta viloyat\n\n**format=full** \u2014 To'liq hisobot","operationId":"f5ee53ed5f086c135a8beeb6e691867f","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-inspections":{"get":{"tags":["Reporting Service","Don bo'limi \/ 30-shakl dalolatnoma hisoboti"],"summary":"Don 30-shakl dalolatnoma hisoboti","description":"Don korxonalarida tozalov dalolatnomalari (30-shakl) hisoboti.\n\n**view=summary** \u2014 Respublika yig'masi (viloyatlar bo'yicha)\n\n**view=region** \u2014 Viloyatdagi korxonalar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha dalolatnomalar sahifalangan holda","operationId":"2f7954412a343ed09b21693793668e2e","parameters":[{"name":"view","in":"query","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","description":"Holat","required":false,"schema":{"type":"string","enum":["draft","waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Qidiruv (korxona, STIR)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","inspection_date","enterprise_name","company_stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Don 30-shakl hisobot ma'lumotlari"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/grain-inspections\/export":{"get":{"tags":["Reporting Service","Don bo'limi \/ 30-shakl dalolatnoma hisoboti"],"summary":"Don 30-shakl hisobotini Excel formatida yuklab olish","description":"**format=summary** \u2014 Respublika svod\n\n**format=region** \u2014 Bitta viloyat (region_id majburiy)\n\n**format=full** \u2014 To'liq hisobot","operationId":"9e6b6346a0f1d2f7122ba208fe7af7dc","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["draft","waiting","rejected","signed"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/health":{"get":{"tags":["Reporting Service","Health"],"summary":"Health check","description":"Servis holatini tekshirish \u2014 DB, Redis","operationId":"ba659c6f4e75acd86add4cf28d86bff8","responses":{"200":{"description":"Servis ishlayapti","content":{"application\/json":{"schema":{"properties":{"status":{"type":"string","example":"ok"},"service":{"type":"string","example":"reporting-service"},"checks":{"properties":{"database":{"type":"string","example":"ok"},"redis":{"type":"string","example":"ok"}},"type":"object"},"timestamp":{"type":"string","example":"2026-01-01T00:00:00+00:00"}},"type":"object"}}}},"503":{"description":"Servis degradatsiya holatida"}}}},"\/api\/v1\/reporting\/mill-reports":{"get":{"tags":["Reporting Service","Don bo'limi \/ Un tegirmonlar hisoboti"],"summary":"Un tegirmonlar hisoboti","description":"Un tegirmon korxonalari hisoboti.\n\n**view=summary** \u2014 Respublika yig'masi (viloyatlar bo'yicha)\n\n**view=region** \u2014 Viloyatdagi tegirmonlar (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha tegirmonlar sahifalangan holda","operationId":"6b69de185916c4f121ea1da9f12567a2","parameters":[{"name":"view","in":"query","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","description":"Qidiruv (korxona, STIR, manzil)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["id","report_date","llc_company_name","company_stir","status","created_at"]}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Un tegirmonlar hisobot ma'lumotlari"},"401":{"description":"Autentifikatsiya talab etiladi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/mill-reports\/export":{"get":{"tags":["Reporting Service","Don bo'limi \/ Un tegirmonlar hisoboti"],"summary":"Un tegirmonlar hisobotini Excel formatida yuklab olish","description":"**format=summary** \u2014 Respublika svod\n\n**format=region** \u2014 Bitta viloyat (region_id majburiy)\n\n**format=full** \u2014 To'liq hisobot","operationId":"2952c460401e43766c5382745f550089","parameters":[{"name":"format","in":"query","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"},"401":{"description":"Autentifikatsiya talab etiladi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/oil-fat-reports":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Yog'-moy dalolatnoma hisoboti"],"summary":"Yog'-moy dalolatnoma hisoboti","description":"Yog'-moy korxonalari dalolatnomalari asosida hisobot.\n\n**view=summary** \u2014 Respublika yig'masi (14 viloyat bo'yicha aggregatsiya)\n\n**view=region** \u2014 Tanlangan viloyatdagi korxonalar ro'yxati (region_id majburiy)\n\n**view=enterprises** \u2014 Barcha korxonalar sahifalangan holda","operationId":"13668889202e6d1414d6b8c3378856af","parameters":[{"name":"view","in":"query","description":"Hisobot turi","required":true,"schema":{"type":"string","default":"summary","enum":["summary","region","enterprises"]}},{"name":"status","in":"query","description":"Holat bo'yicha filter","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"region_id","in":"query","description":"Viloyat ID (view=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","description":"Tuman ID","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (Y-m-d)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (Y-m-d)","required":false,"schema":{"type":"string","format":"date"}},{"name":"meets_requirements","in":"query","description":"Talabga muvofiqlik (true\/false)","required":false,"schema":{"type":"boolean"}},{"name":"search","in":"query","description":"Qidiruv (nomi, STIR, manzil)","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","description":"Yil bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar (faqat enterprises, default 15, -1=hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni (faqat enterprises)","required":false,"schema":{"type":"string","enum":["id","report_date","name","stir","region_id","created_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Hisobot ma'lumotlari (view parametriga qarab turli formatda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab etiladi"},"404":{"description":"Viloyat topilmadi (view=region uchun)"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/oil-fat-reports\/export":{"get":{"tags":["Reporting Service","Paxta bo'limi \/ Yog'-moy dalolatnoma hisoboti"],"summary":"Yog'-moy hisobotini Excel formatida yuklab olish","description":"Excel export.\n\n**format=summary** \u2014 Respublika svod (1 sheet)\n\n**format=region** \u2014 Bitta viloyat (region_id majburiy)\n\n**format=full** \u2014 To'liq hisobot: Respublika svod + 14 viloyat + Umumiy baza","operationId":"122a44ef30e8eccfdc0888e346b49a10","parameters":[{"name":"format","in":"query","description":"Export formati","required":true,"schema":{"type":"string","default":"full","enum":["summary","region","full"]}},{"name":"region_id","in":"query","description":"Viloyat ID (format=region uchun majburiy)","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["waiting","rejected","signed"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Excel fayl (application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet)"},"401":{"description":"Autentifikatsiya talab etiladi"},"404":{"description":"Viloyat topilmadi (format=region uchun)"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-republic":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"1. Mavjud texnikalar \u2014 Respublika bo'yicha","description":"Respublikadagi barcha ro'yxatdan o'tgan texnikalar viloyatlar kesimida. Ish turi va brendlar bo'yicha guruhlangan.","operationId":"a85206698c2be6ad83e32ecb431c1164","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-republic\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"1. Mavjud texnikalar \u2014 Respublika (Excel)","description":"Respublika bo'yicha mavjud texnikalar hisobotini Excel formatida yuklab olish","operationId":"2cd3889f400459f311ceb95cd7d32353","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-by-region":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"1b. Mavjud texnikalar \u2014 Viloyat bo'yicha","description":"Tanlangan viloyatdagi texnikalar tumanlar kesimida","operationId":"e4313d8ee2b137fdb1eb6cde191eb43a","parameters":[{"name":"region_id","in":"query","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-by-region\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"1b. Mavjud texnikalar \u2014 Viloyat (Excel)","description":"Viloyat bo'yicha mavjud texnikalar hisobotini Excel formatida yuklab olish","operationId":"172ba75f443c5e1266b91faa67cd3f2b","parameters":[{"name":"region_id","in":"query","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/available-regions":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"Mavjud viloyatlar","description":"Mavjud viloyatlar ro'yxati (hisobot uchun tanlash)","operationId":"60db36e189e21ea3a76cc705b0629d78","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/exist-by-category":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"5. Mulkchilik \u2014 kategoriya bo'yicha","description":"Kategoriya bo'yicha mavjud texnikalar hisoboti\nuzagroteh-main: \/report\/exist-by-category\n\nTanlangan viloyat va mijoz kategoriyasi bo'yicha texnikalar","operationId":"abfdc7554ffec66950491522d0c74351","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"category_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/exist-by-category\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"5. Mulkchilik (Excel)","description":"Kategoriya bo'yicha mavjud texnikalar hisobotini Excel formatida yuklab olish","operationId":"b806c8f80cebc92378e8e2e7d0f45f13","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/available-categories":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"Mavjud kategoriyalar","description":"Mavjud mijoz kategoriyalari ro'yxati (hisobot uchun tanlash)","operationId":"117e5033ca379f1a907eb48b38fa66e1","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-category":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"7. Mavjud texnikalar turi bo'yicha","description":"Texnika turi va ish turi bo'yicha mavjud texnikalar hisoboti\nuzagroteh-main: \/report\/vehicle-types-category\n\nTanlangan viloyat bo'yicha texnika turi va ish turlari kesimida","operationId":"f2f5b74fcc68a78373e27f8513d5b14a","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-types-category\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"7. Turi bo'yicha (Excel)","description":"Texnika turi bo'yicha hisobotni Excel formatida yuklab olish","operationId":"fa324332cb909b395974d207597b84f3","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-age":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"2. Texnika yoshi","description":"8 ta yosh guruhi bo'yicha taqsimot","operationId":"d000bce5cad87af560b99daa4f4e53c8","parameters":[{"name":"scope","in":"query","schema":{"type":"string","enum":["republic","region","district"]}},{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"district_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-age\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"2. Texnika yoshi (Excel)","description":"Texnika yoshi hisobotini Excel formatida yuklab olish","operationId":"e901282b001b3e2fbca9fcf486a34d7e","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/new-vehicles":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"3. Yangi texnika","description":"Joriy yilda olingan yangi texnikalar mulkchilik kategoriyasi bo'yicha","operationId":"0f98603257c20377f01fa31b7bd4ea7c","parameters":[{"name":"scope","in":"query","schema":{"type":"string"}},{"name":"region_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/new-vehicles\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"3. Yangi texnika (Excel)","operationId":"44cb1a48ef68a7cddd0ab8fca927c736","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/registration-status":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"4. Ro'yxatdan o'tgan texnikalar holati","description":"9 ustunli matritsa: ro'yxatdan o'tgan\/o'tmagan \u00d7 yaroqli\/yaroqsiz","operationId":"85e4cf862a170d42f34390983dd5abc8","parameters":[{"name":"region_id","in":"query","required":true,"schema":{"type":"integer"}},{"name":"district_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/registration-status\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"4. Ro'yxatdan o'tgan (Excel)","operationId":"bac245513c62c47780259461c48344de","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-age-by-working-type":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"8. Texnika yoshi turi bo'yicha","description":"54 ta ish turi \u00d7 7 yosh guruhi matritsa","operationId":"b2374f22b8cd77123aa7bca4fb6acdd5","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/vehicle-age-by-working-type\/export":{"get":{"tags":["Reporting Service","Agroteh hisobotlar"],"summary":"8. Yoshi turi bo'yicha (Excel)","operationId":"0079384891b8db932d95875c3882c7d7","responses":{"200":{"description":"Excel fayl"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/technical-inspections":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6a. Texnik ko'rik to'lovlari","description":"Yuridik\/jismoniy \u00d7 vehicle\/tirkama\/agregat bo'yicha 14 raqamli massiv","operationId":"f2ffaaa87bdcfbba1609c4155b1e794b","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"district_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/technical-passports":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6b. Texnik pasport to'lovlari","operationId":"2fd80126e5a08d25bd6bd9a21848a4d5","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/transport-numbers":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6c. Davlat raqami to'lovlari","operationId":"351fd6ddf45ece8367770be2f75ae8ab","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/driver-exams":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6d. Imtihon to'lovlari","operationId":"984198788fc0327492c5ac7de34971fa","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/driver-licenses":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6e. Guvohnoma to'lovlari","operationId":"6aafa62c4058e2d4d6c2ee7b63d8f046","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/certificates":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6f. Texnika guvohnomasi to'lovlari","operationId":"28ed62318d8c78d640279505ad212071","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/tm1":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6g. TM-1 ma'lumotnoma to'lovlari","operationId":"82dd01fc105bd77037af042480722ddc","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/registrations":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6h. Ro'yxatga olish to'lovlari","operationId":"5f7e41e87b9bb5acc78a6fc0262b3cea","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}},{"name":"action","in":"query","schema":{"type":"string","enum":["regged","unregged"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/unfit":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6i. Yaroqsiz texnika to'lovlari","operationId":"648b8be511be1ad5615f52d0b1d47161","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/reporting\/income\/latest":{"get":{"tags":["Reporting Service","Agroteh hisobotlar \u2014 Davlat xizmatlari"],"summary":"6j. Oxirgi to'lovlar","operationId":"668c3ed982e771b45938722fd281b80d","parameters":[{"name":"region_id","in":"query","schema":{"type":"integer"}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications":{"get":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizalar ro'yxati","operationId":"23c7f15584851cd73afce563b71165ba","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"student_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"application_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"state_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Arizalar ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Applications"],"summary":"Yangi ariza topshirish","operationId":"aa2d661ef534227987e57ba3eb7e9866","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":[]}}},"responses":{"201":{"description":"Ariza muvaffaqiyatli topshirildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}":{"get":{"tags":["TM Agroteh Service","Applications"],"summary":"Ariza ma'lumotlari","operationId":"8b9f34207d83f53edfc39e268c8836d5","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza ma'lumotlari"},"404":{"description":"Ariza topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Applications"],"summary":"Ariza ma'lumotlarini yangilash","operationId":"04fe82a7048f8c874f9565d56ebd4387","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":[]}}},"responses":{"200":{"description":"Ariza yangilandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizani o'chirish","operationId":"d0da084eea501b50b46aed1e08752631","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza o'chirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Applications"],"summary":"O'chirilgan arizani tiklash","operationId":"de10d9e9ba8a614a8f5460354ec51f85","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza tiklandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}\/approve":{"patch":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizani tasdiqlash","operationId":"77379b5d753ef32ca73ced3ffef2c679","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ariza tasdiqlandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}\/reject":{"patch":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizani rad etish","operationId":"4e21a1f1401b0d5a1ac23fdde3c7eec7","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["rejection_reason"],"properties":{"rejection_reason":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Ariza rad etildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}\/assign-exam":{"patch":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizaga imtihon tayinlash","operationId":"732f7347aea1b6f49544cc23d2357b38","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon tayinlandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}\/upload\/{field}":{"post":{"tags":["TM Agroteh Service","Applications"],"summary":"Ariza faylini yuklash","operationId":"98d21ad5eff9e58f0c92dfcb517fbde3","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}},{"name":"field","in":"path","required":true,"schema":{"type":"string","enum":["training_certificate","medical_certificate","passport_copy","photo_3x4","fee_receipt","workplace_reference"]}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Fayl yuklandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/{application}\/delete-file\/{field}":{"delete":{"tags":["TM Agroteh Service","Applications"],"summary":"Ariza faylini o'chirish","operationId":"723cfa7718209f418ef52cd852b54e6c","parameters":[{"name":"application","in":"path","required":true,"schema":{"type":"integer"}},{"name":"field","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fayl o'chirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/applications\/statistics":{"get":{"tags":["TM Agroteh Service","Applications"],"summary":"Arizalar statistikasi","operationId":"c0d8bfbcb06a5a23a1ae1bab97043cdb","responses":{"200":{"description":"Statistika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificates":{"get":{"tags":["TM Agroteh Service","Certificates"],"summary":"Guvohnomalar ro'yxati","operationId":"8d5a52bc8307781b6a5984a2647706a6","parameters":[{"name":"search","in":"query","description":"Guvohnoma raqami, FISH, JSHSHIR, pasport bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"tm_individual_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"country_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"status","in":"query","description":"Holat bo'yicha filter (active, exam_passed, data_attached)","required":false,"schema":{"type":"string"}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Guvohnomalar ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Certificates"],"summary":"Yangi guvohnoma yaratish","operationId":"97757a44b5bcb5e66eb0f89e707801a8","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["tm_individual_id","issue_date","certificate_number"],"properties":{"tm_individual_id":{"description":"Jismoniy shaxs ID","type":"integer","example":1},"country_id":{"description":"Davlat ID","type":"integer","example":1},"issue_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-01-15"},"certificate_number":{"description":"Guvohnoma seriya raqami","type":"string","example":"AA 0012345"},"category_a":{"description":"A toifa","type":"boolean","example":true},"category_b":{"description":"B toifa","type":"boolean","example":true},"category_c":{"description":"C toifa","type":"boolean","example":false},"category_d":{"description":"D toifa","type":"boolean","example":false},"category_e":{"description":"E toifa","type":"boolean","example":false},"category_f":{"description":"F toifa","type":"boolean","example":false}},"type":"object"}}}},"responses":{"201":{"description":"Guvohnoma muvaffaqiyatli yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificates\/{certificate}":{"get":{"tags":["TM Agroteh Service","Certificates"],"summary":"Guvohnoma ma'lumotlari","operationId":"199dc1ee605275a86ffbe7fb4f88e411","parameters":[{"name":"certificate","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma ma'lumotlari"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Certificates"],"summary":"Guvohnoma ma'lumotlarini yangilash","operationId":"599af75698775d2923415b09381fffc7","parameters":[{"name":"certificate","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tm_individual_id":{"description":"Jismoniy shaxs ID","type":"integer"},"country_id":{"description":"Davlat ID","type":"integer"},"issue_date":{"description":"Berilgan sana","type":"string","format":"date"},"certificate_number":{"description":"Guvohnoma seriya raqami","type":"string"},"category_a":{"description":"A toifa","type":"boolean"},"category_b":{"description":"B toifa","type":"boolean"},"category_c":{"description":"C toifa","type":"boolean"},"category_d":{"description":"D toifa","type":"boolean"},"category_e":{"description":"E toifa","type":"boolean"},"category_f":{"description":"F toifa","type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Guvohnoma yangilandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Certificates"],"summary":"Guvohnomani o'chirish","operationId":"aefd4ce705a468347c74bdc60c93065c","parameters":[{"name":"certificate","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma o'chirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificates\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Certificates"],"summary":"O'chirilgan guvohnomani tiklash","operationId":"0e7469197de7efc33b2856fa872a970a","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma tiklandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificates\/{certificate}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","Certificates"],"summary":"Guvohnoma holatini almashtirish (faol\/nofaol)","operationId":"9d9106c0b7892c810e87a424ce693eca","parameters":[{"name":"certificate","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificates\/verify\/{qrToken}":{"get":{"tags":["TM Agroteh Service","Certificates"],"summary":"QR kod orqali guvohnomani tekshirish (ochiq)","description":"**Ochiq API** \u2014 autentifikatsiya kerak emas.\n\nQR kod skanerlanganda frontend sahifasi ochiladi:\n`https:\/\/new.uzagroin.uz\/verify\/certificate\/{qr_token}`\n\nFrontend shu API'ga so'rov yuboradi va guvohnoma ma'lumotlarini ko'rsatadi.\n\n### Qaytariladigan ma'lumotlar:\n- Guvohnoma raqami, berilgan sana, holati\n- Egasi: FIO, JSHSHIR, passport, tug'ilgan sana\n- Toifalar (A-F)\n- Viloyat, tuman","operationId":"d30b79a8b7c66c2e902aecdf3e381f45","parameters":[{"name":"qrToken","in":"path","description":"QR koddagi unique token","required":true,"schema":{"type":"string","example":"aBcDeFgHiJkLmNoPqRsTuVwXyZ012345"}}],"responses":{"200":{"description":"Guvohnoma ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"certificate_number":{"type":"string","example":"UZ-AA0155003"},"issue_date":{"type":"string","example":"2026-03-13"},"status":{"type":"string","example":"exam_passed"},"status_label":{"type":"string","example":"Imtihon topshirgan"},"is_active":{"type":"boolean","example":true},"categories":{"type":"array","items":{"type":"string"},"example":["A","B","C","D"]},"individual":{"properties":{"full_name":{"type":"string","example":"KARIMOV ALISHER BAXTIYOROVICH"},"jshshir":{"type":"string","example":"12345678901234"},"passport":{"type":"string","example":"AB1234567"},"birth_date":{"type":"string","example":"1990-05-15"},"state_name":{"type":"string","example":"Toshkent viloyati"},"city_name":{"type":"string","example":"Piskent"}},"type":"object"}},"type":"object"}},"type":"object"}}}},"404":{"description":"Guvohnoma topilmadi"}}}},"\/api\/v1\/tm\/certificate-lookup":{"get":{"tags":["TM Agroteh Service","Certificate Lookup"],"summary":"Passport yoki JSHSHIR orqali guvohnoma qidirish","description":"Eski va yangi namunadagi guvohnomalardan passport yoki JSHSHIR bo'yicha qidirib, guvohnoma raqami, sanasi va toifalarini qaytaradi","operationId":"certificateLookup","parameters":[{"name":"passport","in":"query","description":"Passport raqami (masalan: AA1234567)","required":false,"schema":{"type":"string","example":"AA1234567"}},{"name":"jshshir","in":"query","description":"JSHSHIR (PINFL) raqami (14 ta raqam)","required":false,"schema":{"type":"string","example":"12345678901234"}}],"responses":{"200":{"description":"Guvohnoma(lar) topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma(lar) topildi"},"data":{"type":"array","items":{"properties":{"source":{"description":"Qaysi jadvaldan (new_format \/ old_format)","type":"string","example":"new_format"},"certificate_number":{"type":"string","example":"UZ-AA0154681"},"issue_date":{"type":"string","format":"date","example":"2026-03-15"},"categories":{"type":"array","items":{"type":"string"},"example":"[\"A\", \"B\", \"C\"]"},"is_active":{"type":"boolean","example":true},"individual":{"properties":{"full_name":{"type":"string","example":"Karimov Jasur Anvarovich"},"passport":{"type":"string","example":"AA1234567"},"jshshir":{"type":"string","example":"12345678901234"}},"type":"object"}},"type":"object"}}},"type":"object"}}}},"404":{"description":"Guvohnoma topilmadi"},"422":{"description":"Passport yoki JSHSHIR kiritilishi shart"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/commission-members":{"get":{"tags":["TM Agroteh Service","Commission Members"],"summary":"Komissiya a'zolari ro'yxati","description":"Barcha komissiya a'zolari ro'yxatini olish. Qidiruv va filtrlash mumkin.","operationId":"b985516850dc9c72539fa79fd0fe2998","parameters":[{"name":"search","in":"query","description":"F.I.O, ish joyi, passport yoki telefon bo'yicha qidiruv","schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","schema":{"type":"boolean"}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CommissionMemberResource"}}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Commission Members"],"summary":"Yangi komissiya a'zosi yaratish","operationId":"8ebe52dcb1db47eccf7f2786e2dea3ed","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["full_name"],"properties":{"full_name":{"description":"F.I.O (majburiy)","type":"string","example":"Karimov Anvar Baxtiyorovich"},"workplace_name":{"description":"Ish joyi","type":"string","example":"Agro Texnika MChJ"},"passport":{"description":"Passport","type":"string","example":"AB1234567"},"phone":{"description":"Telefon","type":"string","example":"+998901234567"},"state_id":{"description":"Viloyat ID","type":"integer","example":27},"city_id":{"description":"Tuman ID","type":"integer","example":2701}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CommissionMemberResource"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/commission-members\/{commissionMember}":{"get":{"tags":["TM Agroteh Service","Commission Members"],"summary":"Komissiya a'zosi ma'lumotlari","operationId":"a3ab733ce9845a8a1ba275667c7755ff","parameters":[{"name":"commissionMember","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CommissionMemberResource"}},"type":"object"}}}},"404":{"description":"Topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Commission Members"],"summary":"Komissiya a'zosini yangilash","operationId":"6c8e94f0e2adb48fad252556bad01cdf","parameters":[{"name":"commissionMember","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"full_name":{"type":"string","example":"Karimov Anvar Baxtiyorovich"},"workplace_name":{"type":"string","example":"Agro Texnika MChJ"},"passport":{"type":"string","example":"AB1234567"},"phone":{"type":"string","example":"+998901234567"},"state_id":{"type":"integer","example":27},"city_id":{"type":"integer","example":2701},"is_active":{"type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CommissionMemberResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Commission Members"],"summary":"Komissiya a'zosini o'chirish","operationId":"a9b908d5b1f53f9b993929a09ea7e76b","parameters":[{"name":"commissionMember","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/commission-members\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Commission Members"],"summary":"O'chirilgan komissiya a'zosini tiklash","operationId":"6b5e8ebb9a661d3349002d540b7677b2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CommissionMemberResource"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/dashboard":{"get":{"tags":["TM Agroteh Service","Dashboard"],"summary":"Dashboard ma'lumotlari","description":"Barcha asosiy ko'rsatkichlarni bitta so'rovda qaytaradi: o'quvchilar, imtihonlar, guvohnomalar, o'quv markazlar, haftalik statistika, viloyatlar bo'yicha natijalar","operationId":"c567b5e32a242014686f878deb541b7c","responses":{"200":{"description":"Dashboard ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/DashboardResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/dashboard\/certificates":{"get":{"tags":["TM Agroteh Service","Dashboard"],"summary":"Oyma-oy guvohnomalar statistikasi","description":"Tanlangan yil bo'yicha har oyda yangi va eski namunadagi guvohnomalar soni","operationId":"58789fab4cd69d0f02bfd688d8be586f","parameters":[{"name":"year","in":"query","description":"Yil (default: joriy yil)","required":false,"schema":{"type":"integer","example":2026}}],"responses":{"200":{"description":"Oylik guvohnomalar statistikasi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/MonthlyCertificatesResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/exam-participants":{"get":{"tags":["TM Agroteh Service","Exam Participants"],"summary":"Imtihon qatnashuvchilari ro'yxati","description":"O'quv kursi tugagan, faol va 18 yoshga to'lgan o'quvchilarni qaytaradi. without_training_center=true bo'lganda nomzodlar uchun study_end_date talab qilinmaydi.","operationId":"497da9bae2c13d222d708d11dea5d341","parameters":[{"name":"search","in":"query","description":"Ism, familiya yoki JSHSHIR bo'yicha qidirish","required":false,"schema":{"type":"string"}},{"name":"without_training_center","in":"query","description":"O'quv markazi yo'q (NULL) bo'lganlarni olish","required":false,"schema":{"type":"boolean"}},{"name":"tm_training_center_id","in":"query","description":"O'quv markaz ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"study_class_category_ids[]","in":"query","description":"O'quv sinf kategoriyalari bo'yicha filter. Bir nechta ID yuborish mumkin.","required":false,"schema":{"type":"array","items":{"type":"integer"}},"example":[1,2]},{"name":"state_id","in":"query","description":"Viloyat ID","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Imtihon qatnashuvchilari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"full_name":{"type":"string"},"passport":{"type":"string","nullable":true},"jshshir":{"type":"string"},"phone":{"type":"string"},"birth_date":{"type":"string","format":"date","nullable":true},"study_class_categories":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor haydovchilari"}},"type":"object"}},"theory_exam_attempts":{"type":"integer","example":2},"last_theory_exam_status":{"type":"string","example":"passed","nullable":true},"last_theory_exam_score":{"type":"number","example":85.5,"nullable":true},"theory_invoice_valid_until":{"type":"string","format":"date","nullable":true},"theory_invoice_is_expired":{"type":"boolean","example":false},"practical_exam_attempts":{"type":"integer","example":1},"last_practical_exam_passed":{"type":"boolean","nullable":true},"last_practical_exam_date":{"type":"string","format":"date","nullable":true},"workflow_status":{"properties":{"is_eligible":{"type":"boolean"},"theory_invoice_count":{"type":"integer"},"theory_exam_count":{"type":"integer"},"last_theory_exam_status":{"type":"string","nullable":true},"can_create_theory_invoice":{"type":"boolean"},"can_start_theory_exam":{"type":"boolean"},"can_create_theory_exam":{"type":"boolean"},"practical_invoice_count":{"type":"integer"},"practical_exam_sheet_count":{"type":"integer"},"practical_exam_passed":{"type":"boolean"},"can_create_practical_invoice":{"type":"boolean"},"can_create_practical_exam_sheet":{"type":"boolean"},"can_convert_to_individual":{"type":"boolean"},"is_converted":{"type":"boolean"}},"type":"object"}},"type":"object"}},"meta":{"properties":{"total":{"type":"integer"},"per_page":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"from":{"type":"integer","nullable":true},"to":{"type":"integer","nullable":true}},"type":"object"},"links":{"properties":{"first":{"type":"string","nullable":true},"last":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/exam-participants\/{student}\/status":{"get":{"tags":["TM Agroteh Service","Exam Participants"],"summary":"O'quvchi workflow holati","description":"O'quvchining imtihon jarayonidagi barcha bosqichlar holatini qaytaradi.","operationId":"0b17fba7c0b11e12cb06456cf063f89f","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Workflow holati"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/exam-participants\/{student}\/history":{"get":{"tags":["TM Agroteh Service","Exam Participants"],"summary":"O'quvchi imtihon tarixi","operationId":"ed7b6a37101c338fd90b7f0a48c5c3fe","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon tarixi"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/exam-participants\/{student}\/convert-to-individual":{"post":{"tags":["TM Agroteh Service","Exam Participants"],"summary":"O'quvchini jismoniy shaxsga o'tkazish","operationId":"15edb2b4dd27415bcb1ab31559888149","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"201":{"description":"Jismoniy shaxsga o'tkazildi"},"422":{"description":"O'tkazish mumkin emas"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/instructions":{"get":{"tags":["TM Agroteh Service","TM Instructions"],"summary":"Yo'riqnomalar ro'yxati","description":"tm-republic barcha darajadagi yo'riqnomalarni ko'radi. Boshqa darajalar faqat o'z darajasidagi yo'riqnomalarni ko'radi.","operationId":"43b961dc3c93a16a4584f70ea5aec06b","parameters":[{"name":"search","in":"query","description":"Sarlavha bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"level","in":"query","description":"Daraja bo'yicha filter (faqat tm-republic uchun)","required":false,"schema":{"type":"string","enum":["republic","region","district","training_center"]}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Yo'riqnomalar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InstructionResponse"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Instructions"],"summary":"Yangi yo'riqnoma qo'shish","description":"Faqat tm-republic ruxsatiga ega foydalanuvchilar yaratishi mumkin.","operationId":"9244f1c6ef439a88d7ee08253a1de7a6","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/InstructionStoreRequest"}}}},"responses":{"201":{"description":"Yo'riqnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yo'riqnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/InstructionResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/instructions\/{instruction}":{"get":{"tags":["TM Agroteh Service","TM Instructions"],"summary":"Yo'riqnoma ma'lumotlarini ko'rish","description":"tm-republic barcha darajadagi yo'riqnomani ko'rishi mumkin. Boshqa darajalar faqat o'z darajasidagini ko'radi.","operationId":"10f228e18981ad52b4d12a32fa3189fb","parameters":[{"name":"instruction","in":"path","description":"Yo'riqnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Yo'riqnoma ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/InstructionResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q"},"404":{"description":"Yo'riqnoma topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Instructions"],"summary":"Yo'riqnomani o'chirish","description":"Soft delete. Faqat tm-republic. S3 fayl saqlanadi.","operationId":"8626024752dd24754e9b4763cb84293f","parameters":[{"name":"instruction","in":"path","description":"Yo'riqnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Yo'riqnoma o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yo'riqnoma muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q"},"404":{"description":"Yo'riqnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/instructions\/{instruction}\/update":{"post":{"tags":["TM Agroteh Service","TM Instructions"],"summary":"Yo'riqnomani yangilash","description":"Faqat tm-republic ruxsatiga ega foydalanuvchilar yangilashi mumkin. Yangi PDF yuklansa eski S3 dan o'chiriladi.","operationId":"72bacdb62ab259880e7bc31f14d2b898","parameters":[{"name":"instruction","in":"path","description":"Yo'riqnoma ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"multipart\/form-data":{"schema":{"properties":{"title":{"type":"string","maxLength":500},"level":{"type":"string","enum":["republic","region","district","training_center"]},"file":{"description":"Yangi PDF fayl","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Yo'riqnoma yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Yo'riqnoma muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/InstructionResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q"},"404":{"description":"Yo'riqnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/locations\/regions":{"get":{"tags":["TM Agroteh Service","Locations"],"summary":"Barcha viloyatlar ro'yxati","description":"Foydalanuvchi hududig\u0430 qaramasdan barcha viloyatlarni qaytaradi","operationId":"10cba0f6278a7a1877fc84046904493f","responses":{"200":{"description":"Viloyatlar ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/locations\/districts":{"get":{"tags":["TM Agroteh Service","Locations"],"summary":"Tumanlar ro'yxati","description":"Foydalanuvchi hududig\u0430 qaramasdan barcha tumanlarni qaytaradi. state_id bilan filterlash mumkin.","operationId":"588d8110209333a22d83f5c817c30c9e","parameters":[{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filterlash","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tumanlar ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/permissions":{"get":{"tags":["TM Agroteh Service","TM-Agroteh Permission Management"],"summary":"Ruxsatlar ro'yxati","description":"TM-Agroteh xizmatidagi barcha ruxsatlarni guruhlar bilan olish","operationId":"23db1391b232d0666100d05a99a37823","responses":{"200":{"description":"Ruxsatlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/roles":{"get":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Rollar ro'yxati","description":"TM-Agroteh xizmatidagi barcha rollarni olish","operationId":"d7025b1ad5f0313e74ab67dc7936af76","parameters":[{"name":"with_users","in":"query","description":"Foydalanuvchilar sonini qo'shish","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Rollar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Yangi rol qo'shish","description":"TM-Agroteh xizmatiga yangi rol yaratish","operationId":"772db0eeb861b606a13f9c5c9465b435","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Rol nomi (faqat kichik harflar, raqamlar va tire)","type":"string","pattern":"^[a-z0-9-]+$"},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Rol muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/roles\/{role}":{"get":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Rol ma'lumotlari","operationId":"97177ffae289009b51040618a1696905","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Rolni yangilash","description":"Rol ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"e36e232363197e65e61425e14f21b130","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Rol nomi (faqat kichik harflar, raqamlar va tire)","type":"string","pattern":"^[a-z0-9-]+$"},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Rol yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Rolni o'chirish","operationId":"0f22c8a494e05ba854fc6df8e901b9d2","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Bu rolga biriktirilgan foydalanuvchilar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu rolga biriktirilgan foydalanuvchilar mavjud"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/roles\/{role}\/permissions":{"post":{"tags":["TM Agroteh Service","TM-Agroteh Role Management"],"summary":"Rol ruxsatlarini yangilash","description":"Rolga ruxsatlarni sinxronlash","operationId":"bdabcd0367e986476243188e7b0aca06","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permissions"],"properties":{"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Ruxsatlar yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ruxsatlar muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/users":{"get":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Foydalanuvchilar ro'yxati","description":"TM-Agroteh xizmatidagi barcha foydalanuvchilarni filterlash va sahifalash bilan olish","operationId":"5e840fef1205aaae5ca28ac116aab1ee","parameters":[{"name":"search","in":"query","description":"Ism, familiya yoki email bo'yicha qidirish","required":false,"schema":{"type":"string","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"role_id","in":"query","description":"Rol ID bo'yicha filterlash","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}}],"responses":{"200":{"description":"Foydalanuvchilar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"properties":{"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Yangi foydalanuvchi qo'shish","description":"TM-Agroteh xizmatiga yangi foydalanuvchi yaratish","operationId":"88cd2fa18c86754fd7d8c0c9572c538b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","lastname","email","password","password_confirmation","roles"],"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzili (unikal)","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 ta belgi)","type":"string","format":"password","minLength":8},"password_confirmation":{"description":"Parol tasdig'i","type":"string","format":"password"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"},"tm_training_center_id":{"description":"Ta'lim markazi ID","type":"integer","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/users\/{user}":{"get":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Foydalanuvchi ma'lumotlari","operationId":"69deddeabd055b22f171b17cc08bac93","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Foydalanuvchini yangilash","description":"Foydalanuvchi ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"9f509a5faadb0e20f6e4e8f2b352495c","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzili (unikal)","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 ta belgi)","type":"string","format":"password","minLength":8},"password_confirmation":{"description":"Parol tasdig'i","type":"string","format":"password"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"},"tm_training_center_id":{"description":"Ta'lim markazi ID","type":"integer","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Foydalanuvchi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Foydalanuvchini o'chirish","operationId":"bc9479f4ae45a5fae3550d6441009c05","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"O'zingizni o'chira olmaysiz"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/users\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"O'chirilgan foydalanuvchini tiklash","operationId":"0ad105a171e4575eff4ed04a4a4ed48c","parameters":[{"name":"id","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli tiklandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/manage\/users\/{user}\/toggle-status":{"post":{"tags":["TM Agroteh Service","TM-Agroteh User Management"],"summary":"Foydalanuvchi holatini o'zgartirish","description":"Foydalanuvchining is_active holatini teskari qiymatga o'zgartirish","operationId":"3ac7c3d0b4bb6809481e64ba6beb2ba5","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi faollashtirildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-exam-sheets":{"get":{"tags":["TM Agroteh Service","Practical Exam Sheets"],"summary":"Amaliy imtihon varaqalari ro'yxati","description":"Barcha amaliy imtihon varaqalari ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"175253293bab103fa810e35673e535a5","parameters":[{"name":"search","in":"query","description":"Imtihon raqami yoki tibbiy ko'rik raqami bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"date_from","in":"query","description":"Amaliy imtihon sanasi (dan)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Amaliy imtihon sanasi (gacha)","required":false,"schema":{"type":"string","format":"date"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Varaqalar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PracticalExamSheetResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Practical Exam Sheets"],"summary":"Yangi amaliy imtihon varaqasi yaratish","description":"Yangi amaliy imtihon varaqasini yaratish. Komisiya a'zolari 3 ta bo'lishi shart.","operationId":"0efa02dcfd5a8b1eee4178e721c2af9e","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/PracticalExamSheetStoreRequest"}}}},"responses":{"201":{"description":"Varaqa muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Amaliy imtihon varaqasi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/PracticalExamSheetResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-exam-sheets\/{practicalExamSheet}":{"get":{"tags":["TM Agroteh Service","Practical Exam Sheets"],"summary":"Amaliy imtihon varaqasi ma'lumotlari","description":"Bitta amaliy imtihon varaqasining to'liq ma'lumotlarini olish.","operationId":"44d0a793cc89b64d236d8f95f51e5737","parameters":[{"name":"practicalExamSheet","in":"path","description":"Varaqa ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Varaqa ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/PracticalExamSheetResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Varaqa topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Practical Exam Sheets"],"summary":"Amaliy imtihon varaqasini yangilash","description":"Amaliy imtihon varaqasi ma'lumotlarini yangilash. POST ishlatiladi chunki multipart\/form-data PUT ni qo'llab-quvvatlamaydi.","operationId":"42df686c3cae989a51fab26495250235","parameters":[{"name":"practicalExamSheet","in":"path","description":"Varaqa ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/PracticalExamSheetStoreRequest"}}}},"responses":{"200":{"description":"Varaqa yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Amaliy imtihon varaqasi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/PracticalExamSheetResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Varaqa topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Practical Exam Sheets"],"summary":"Amaliy imtihon varaqasini o'chirish","description":"Amaliy imtihon varaqasini o'chirish. S3 dan hujjat fayli ham o'chiriladi.","operationId":"782ff7d4befee591ddafccdac9a5ced8","parameters":[{"name":"practicalExamSheet","in":"path","description":"Varaqa ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Varaqa o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Amaliy imtihon varaqasi muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Varaqa topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoices":{"get":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoicelar ro'yxati","description":"Amaliy imtihon invoicelari ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"5b0729ece06dd073d6802f6db13d4565","parameters":[{"name":"search","in":"query","description":"Invoice raqami, o'quvchi FISH yoki to'lov turi nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"tm_student_id","in":"query","description":"O'quvchi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"tm_practical_invoice_type_id","in":"query","description":"To'lov turi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Sana (dan)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Sana (gacha)","required":false,"schema":{"type":"string","format":"date"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Invoicelar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PracticalInvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Yangi invoice yaratish","description":"Amaliy imtihon uchun yangi invoice yaratish. Nazariy imtihondan o'tgan bo'lishi shart. Invoice raqami avtomatik generatsiya qilinadi (yoki qo'lda kiritish mumkin).","operationId":"f3bb0bfa7907100738b52e520010bca7","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PracticalInvoiceStoreRequest"}}}},"responses":{"201":{"description":"Invoice muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"tm_student_id\": [\"O'quvchi tanlanishi shart\"]}"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoices\/statistics":{"get":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoice statistikasi","description":"Jami, faol invoicelar soni va to'lov turi bo'yicha statistika.","operationId":"83a13f8764c0d696482a4b146d9d1b81","responses":{"200":{"description":"Invoice statistikasi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceStatistics"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoices\/{practicalInvoice}":{"get":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoice ma'lumotlari","description":"Bitta invoicening to'liq ma'lumotlarini olish.","operationId":"1483477391238a8125e026a8b24d0fe5","parameters":[{"name":"practicalInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoice ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoice ma'lumotlarini yangilash","description":"Invoice ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"2b7cd73f39ab16ee18486f0bb2cff8c1","parameters":[{"name":"practicalInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tm_student_id":{"description":"O'quvchi ID","type":"integer","example":1},"tm_practical_invoice_type_id":{"description":"To'lov turi ID","type":"integer","example":1},"invoice_number":{"description":"Invoice raqami","type":"string","example":"PINV-2026-002","maxLength":255},"invoice_date":{"description":"Invoice sanasi","type":"string","format":"date","example":"2026-02-21"},"is_active":{"description":"Faol holat","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Invoice yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoiceni o'chirish","description":"Invoiceni o'chirish.","operationId":"d37626a36f403501f849b315b0754f45","parameters":[{"name":"practicalInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoice o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoices\/{practicalInvoice}\/confirm-payment":{"patch":{"tags":["TM Agroteh Service","Practical Invoices"],"summary":"Invoice to'lovni tasdiqlash","description":"Invoice to'lov holatini o'zgartirish. is_paid=true bo'lganda paid_at avtomatik o'rnatiladi.","operationId":"d9af6e9b01a6e82f43fa1efd8cdc3a47","parameters":[{"name":"practicalInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["is_paid"],"properties":{"is_paid":{"description":"To'lov holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"To'lov holati yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov muvaffaqiyatli tasdiqlandi"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoice-types":{"get":{"tags":["TM Agroteh Service","Practical Invoice Types"],"summary":"To'lov turlari ro'yxati","description":"Amaliy imtihon to'lov turlari ro'yxatini olish. Qidiruv va filtrlash mumkin.","operationId":"4d1babc0fee609300e02363e3b734123","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"To'lov turlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PracticalInvoiceTypeResponse"}},"meta":{"properties":{"total":{"type":"integer","example":2},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":2}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Practical Invoice Types"],"summary":"Yangi to'lov turi yaratish","description":"Amaliy imtihon uchun yangi to'lov turini yaratish.","operationId":"cbc824438151f36e56ffa3ed1b12fe9a","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PracticalInvoiceTypeStoreRequest"}}}},"responses":{"201":{"description":"To'lov turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceTypeResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"name\": [\"Nomi kiritilishi shart\"]}"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/practical-invoice-types\/{practicalInvoiceType}":{"get":{"tags":["TM Agroteh Service","Practical Invoice Types"],"summary":"To'lov turi ma'lumotlari","description":"Bitta to'lov turining to'liq ma'lumotlarini olish.","operationId":"e7a94ac47c66d70c5468a2604c54057d","parameters":[{"name":"practicalInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Practical Invoice Types"],"summary":"To'lov turi ma'lumotlarini yangilash","description":"To'lov turi ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"cececf43f512e7577b77bf279e20a2fc","parameters":[{"name":"practicalInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"To'lov turi nomi","type":"string","example":"Qayta amaliy imtihon uchun","maxLength":255},"amount":{"description":"Summa (tiyin)","type":"integer","example":2500000,"minimum":0},"is_active":{"description":"Faol holat","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"To'lov turi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/PracticalInvoiceTypeResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Practical Invoice Types"],"summary":"To'lov turini o'chirish","description":"To'lov turini o'chirish. Agar to'lov turiga bog'langan invoicelar mavjud bo'lsa, o'chirish mumkin emas.","operationId":"fb7881e6a970d9a96518fdcd071f3ba5","parameters":[{"name":"practicalInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"400":{"description":"To'lov turiga bog'langan invoicelar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu to'lov turiga bog'langan invoicelar mavjud. Avval ularni o'chiring."}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/reports\/students":{"get":{"tags":["TM Agroteh Service","Reports"],"summary":"O'quvchilar hisoboti (drill-down)","description":"Foydalanuvchi permission darajasiga qarab hisobot qaytaradi:\n- **tm-republic**: Filtersiz \u2192 viloyatlar, +state_id \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **student ro'yxati**\n- **tm-region**: Filtersiz \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **student ro'yxati**\n- **tm-district**: Filtersiz \u2192 o'quv markazlar, +training_center_id \u2192 **student ro'yxati**\n- **tm-training-center**: **403 Forbidden**\n\n`training_center_id` berilganda aggregate emas, individual student ro'yxati (pagination bilan) qaytadi.\n\n**Ruxsat berilgan**: O'qishi tugagan + faol + 18 yoshdan katta\n**Ruxsat berilmagan**: Yuqoridagi shartlar bajarilmagan\n**O'qiyapti**: study_end_date kelmagan yoki belgilanmagan\n**Bitirgan**: study_end_date o'tgan","operationId":"d7aa94ea06085405d7666d53f49c6913","parameters":[{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"training_center_id","in":"query","description":"O'quv markaz ID bo'yicha filter (berilganda student ro'yxati qaytadi)","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default 15, -1=hammasi)","required":false,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv (familiya, ism, JSHSHIR, passport)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hisobot ma'lumotlari yoki student ro'yxati (training_center_id berilganda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Respublika bo'yicha hisobot"},"data":{"$ref":"#\/components\/schemas\/StudentReportResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisobot ko'rish uchun ruxsat yo'q"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/reports\/theory-exams":{"get":{"tags":["TM Agroteh Service","Reports"],"summary":"Nazariy imtihon hisoboti (drill-down)","description":"Foydalanuvchi permission darajasiga qarab nazariy imtihon hisobotini qaytaradi:\n- **tm-republic**: Filtersiz \u2192 viloyatlar, +state_id \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-region**: Filtersiz \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-district**: Filtersiz \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-training-center**: **403 Forbidden**\n\n`training_center_id` berilganda aggregate emas, imtihon qatnashuvchilari ro'yxati (exam-participants formati, pagination bilan) qaytadi.","operationId":"ecd552e0ad3fcde3eb51ac3f93004d5d","parameters":[{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"training_center_id","in":"query","description":"O'quv markaz ID (berilganda qatnashuvchilar ro'yxati qaytadi)","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default 15, -1=hammasi)","required":false,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv (familiya, ism, JSHSHIR, passport)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hisobot ma'lumotlari yoki qatnashuvchilar ro'yxati (training_center_id berilganda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nazariy imtihon hisoboti \u2014 Respublika bo'yicha"},"data":{"$ref":"#\/components\/schemas\/TheoryExamReportResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisobot ko'rish uchun ruxsat yo'q"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/reports\/practical-exams":{"get":{"tags":["TM Agroteh Service","Reports"],"summary":"Amaliy imtihon hisoboti (drill-down)","description":"Foydalanuvchi permission darajasiga qarab amaliy imtihon hisobotini qaytaradi:\n- **tm-republic**: Filtersiz \u2192 viloyatlar, +state_id \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-region**: Filtersiz \u2192 tumanlar, +city_id \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-district**: Filtersiz \u2192 o'quv markazlar, +training_center_id \u2192 **qatnashuvchilar ro'yxati**\n- **tm-training-center**: **403 Forbidden**\n\n`training_center_id` berilganda aggregate emas, imtihon qatnashuvchilari ro'yxati (exam-participants formati, pagination bilan) qaytadi.","operationId":"06a35db0c087009947708658cec06647","parameters":[{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"training_center_id","in":"query","description":"O'quv markaz ID (berilganda qatnashuvchilar ro'yxati qaytadi)","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (default 15, -1=hammasi)","required":false,"schema":{"type":"integer"}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer"}},{"name":"search","in":"query","description":"Qidiruv (familiya, ism, JSHSHIR, passport)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hisobot ma'lumotlari yoki qatnashuvchilar ro'yxati (training_center_id berilganda)","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Amaliy imtihon hisoboti \u2014 Respublika bo'yicha"},"data":{"$ref":"#\/components\/schemas\/TheoryExamReportResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisobot ko'rish uchun ruxsat yo'q"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/reports\/certificates":{"get":{"tags":["TM Agroteh Service","Reports"],"summary":"Guvohnoma hisoboti (drill-down)","description":"Foydalanuvchi permission darajasiga qarab guvohnoma hisobotini qaytaradi:\n- **tm-republic**: Filtersiz \u2192 viloyatlar, +state_id \u2192 tumanlar, +city_id \u2192 o'quv markazlar\n- **tm-region**: Filtersiz \u2192 tumanlar, +city_id \u2192 o'quv markazlar\n- **tm-district**: Filtersiz \u2192 o'quv markazlar\n- **tm-training-center**: **403 Forbidden**\n\nHar bir qatorda: jami guvohnomalar, to'langan summa, yangi\/eski namuna soni va summasi","operationId":"e0447b5d7d1db7ea2ee2c343da87121a","parameters":[{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter (drill-down: tumanlar)","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter (drill-down: o'quv markazlar)","required":false,"schema":{"type":"integer"}},{"name":"training_center_id","in":"query","description":"O'quv markaz ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Boshlanish sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Tugash sanasi (YYYY-MM-DD)","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Hisobot ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma hisoboti \u2014 Respublika bo'yicha"},"data":{"$ref":"#\/components\/schemas\/CertificateReportResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"Ruxsat yo'q","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Hisobot ko'rish uchun ruxsat yo'q"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/study-class-categories":{"get":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'quv sinf kategoriyalari ro'yxati","operationId":"65c18e425fee1e7d925540a70d4d30a0","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","example":"Traktor"}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean","example":true}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","example":15,"default":15}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","example":1,"default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"O'quv sinf kategoriyalari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor haydovchilari"},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"Yangi o'quv sinf kategoriyasi qo'shish","operationId":"9bb919faf4a0c64ef7c660c7d827392e","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Traktor haydovchilari","maxLength":255},"is_active":{"description":"Faollik holati","type":"boolean","example":true,"nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Kategoriya muvaffaqiyatli yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/study-class-categories\/{studyClassCategory}":{"get":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'quv sinf kategoriyasi ma'lumotlari","operationId":"179f4221af5854e57c11db6cc504b02d","parameters":[{"name":"studyClassCategory","in":"path","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Kategoriya ma'lumotlari"},"404":{"description":"Kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'quv sinf kategoriyasini yangilash","operationId":"3b19cf2dced6b6cedb6e6c4ece3444b6","parameters":[{"name":"studyClassCategory","in":"path","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Kategoriya nomi","type":"string","example":"Traktor haydovchilari","maxLength":255},"is_active":{"description":"Faollik holati","type":"boolean","example":true,"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Kategoriya yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Kategoriya topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'quv sinf kategoriyasini o'chirish","operationId":"963bf5613739d3fdee010efc5bec172e","parameters":[{"name":"studyClassCategory","in":"path","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Kategoriya o'chirildi"},"404":{"description":"Kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/study-class-categories\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'chirilgan kategoriyani tiklash","operationId":"1e220945da7cb305e898d17d715d5d71","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Kategoriya tiklandi"},"404":{"description":"Kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/study-class-categories\/{studyClassCategory}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"Kategoriya holatini almashtirish (faol\/nofaol)","operationId":"59b70e9934a542d32b46acdb54832bd9","parameters":[{"name":"studyClassCategory","in":"path","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Holat o'zgartirildi"},"404":{"description":"Kategoriya topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/study-class-categories\/statistics":{"get":{"tags":["TM Agroteh Service","Study Class Categories"],"summary":"O'quv sinf kategoriyalari statistikasi","operationId":"9b998e9f7d9cdcd6c35d35476c40e141","responses":{"200":{"description":"Statistika","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer","example":10},"active":{"type":"integer","example":8},"inactive":{"type":"integer","example":2}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions":{"get":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test savollari ro'yxati","description":"Barcha test savollarini filterlash va sahifalash bilan olish.","operationId":"2ed31597c95cf3f6746b4b6f0fc8480e","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"subject","in":"query","required":false,"schema":{"type":"string","enum":["yhq","ekspluatatsiya"]}},{"name":"study_category","in":"query","required":false,"schema":{"type":"string","enum":["A","B","C","D","E","F"]}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"study_class_category_ids[]","in":"query","description":"O'quv sinf kategoriyalari bo'yicha filter","required":false,"schema":{"type":"array","items":{"type":"integer"}}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Test savollari ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Yangi test savoli qo'shish","operationId":"cf1096d3531009abc48f7f51e098a4ef","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["subject","question_text","answer_a","answer_b","answer_c","correct_answer"],"properties":{"subject":{"type":"string","enum":["yhq","ekspluatatsiya"]},"study_category":{"type":"string","nullable":true,"enum":["A","B","C","D","E","F"]},"question_text":{"type":"string","maxLength":5000},"question_image":{"type":"string","format":"binary","nullable":true},"answer_a":{"type":"string","maxLength":1000},"answer_b":{"type":"string","maxLength":1000},"answer_c":{"type":"string","maxLength":1000},"correct_answer":{"type":"string","enum":["a","b","c"]},"study_class_category_ids":{"description":"O'quv sinf kategoriyalari ID lari","type":"array","items":{"type":"integer"},"nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Savol muvaffaqiyatli yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/{testQuestion}":{"get":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test savoli ma'lumotlari","operationId":"21b29ae568dc1ebd42cebe21b7402970","parameters":[{"name":"testQuestion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Test savoli ma'lumotlari"},"404":{"description":"Savol topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test savolini yangilash","description":"_method=PUT query parametri shart.","operationId":"ba9ef4350eb18b8a09952f205c562da5","parameters":[{"name":"testQuestion","in":"path","required":true,"schema":{"type":"integer"}},{"name":"_method","in":"query","required":true,"schema":{"type":"string","default":"PUT"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"subject":{"type":"string","enum":["yhq","ekspluatatsiya"]},"study_category":{"type":"string","nullable":true,"enum":["A","B","C","D","E","F"]},"question_text":{"type":"string","maxLength":5000},"question_image":{"type":"string","format":"binary","nullable":true},"answer_a":{"type":"string","maxLength":1000},"answer_b":{"type":"string","maxLength":1000},"answer_c":{"type":"string","maxLength":1000},"correct_answer":{"type":"string","enum":["a","b","c"]},"study_class_category_ids":{"description":"Yuborilsa \u2014 to'liq almashtiradi. Bo'sh array [] \u2014 barchasini o'chiradi.","type":"array","items":{"type":"integer"},"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Savol yangilandi"},"404":{"description":"Savol topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test savolini o'chirish","operationId":"24b8f660bf8c3e77bf0d04dd307b5867","parameters":[{"name":"testQuestion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Savol o'chirildi"},"404":{"description":"Savol topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Test Questions"],"summary":"O'chirilgan savolni tiklash","operationId":"f32682617d5eb6d3804539248656035c","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Savol tiklandi"},"404":{"description":"Savol topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/subjects":{"get":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test turlari ro'yxati","operationId":"51843b01e9f65a92da90b19e32ea58a9","responses":{"200":{"description":"Test turlari ro'yxati"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/random":{"get":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Tasodifiy savollar to'plami","description":"Imtihon uchun tasodifiy savollar olish.","operationId":"46d77e7fd58af1f23bc87d408204cab5","parameters":[{"name":"subject","in":"query","required":true,"schema":{"type":"string","enum":["yhq","ekspluatatsiya"]}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","default":30,"maximum":100,"minimum":1}},{"name":"study_category","in":"query","required":false,"schema":{"type":"string","nullable":true,"enum":["A","B","C","D","E","F"]}},{"name":"study_class_category_ids[]","in":"query","description":"Kategoriya bo'yicha filter","required":false,"schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"Tasodifiy savollar"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/statistics":{"get":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Test savollari statistikasi","operationId":"928717731b74b4c3b98f09e12fb5447f","responses":{"200":{"description":"Statistika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/test-questions\/{testQuestion}\/transliterate":{"post":{"tags":["TM Agroteh Service","Test Questions"],"summary":"Savol matnini transliteratsiya qilish","description":"Savol va javoblarning kirill versiyasini avtomatik yaratish (lotin \u2192 kirill)","operationId":"e383499d9a0502fa826e9cf6d06d2e47","parameters":[{"name":"testQuestion","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Transliteratsiya natijasi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams":{"get":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonlar ro'yxati","operationId":"f7a3c790e7fb6a8e228d53f693b10024","parameters":[{"name":"student_id","in":"query","description":"Talaba ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"subject","in":"query","description":"Fan bo'yicha filter (eski examlar uchun)","required":false,"schema":{"type":"string","enum":["yhq","ekspluatatsiya"]}},{"name":"status","in":"query","description":"Status bo'yicha filter","required":false,"schema":{"type":"string","enum":["pending","in_progress","passed","failed","expired"]}},{"name":"per_page","in":"query","description":"Sahifadagi elementlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Nazariy imtihonlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TheoryExam"}},"meta":{"properties":{"total":{"type":"integer"},"per_page":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/{theoryExam}":{"get":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihon ma'lumotlari","operationId":"e973df481612962aec4fcab165208910","parameters":[{"name":"theoryExam","in":"path","description":"Nazariy imtihon ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nazariy imtihon ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TheoryExam"}},"type":"object"}}}},"404":{"description":"Nazariy imtihon topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonni tahrirlash","description":"Imtihon statusini, natijasini o'zgartirish (faqat respublika admin uchun)","operationId":"a9b4f16aec1dbf456667acf041d13d1f","parameters":[{"name":"theoryExam","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"status":{"type":"string","enum":["pending","in_progress","passed","failed","expired"]},"score_percent":{"type":"number","example":85.5},"correct_count":{"type":"integer","example":13}},"type":"object"}}}},"responses":{"200":{"description":"Imtihon yangilandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonni o'chirish (pending yoki in_progress)","operationId":"09261b587e5563aa4ef91805515999bc","parameters":[{"name":"theoryExam","in":"path","description":"Nazariy imtihon ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nazariy imtihon o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nazariy imtihon muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"409":{"description":"Faqat kutilayotgan yoki jarayondagi imtihonni o'chirish mumkin"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/start":{"post":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonni boshlash (yaratish + savollar generatsiya)","description":"Talaba uchun nazariy imtihon yaratadi va darhol boshlaydi. 15 ta aralash savol (ekspluatatsiya + YHQ), 15 daqiqa vaqt chegarasi, 80% o'tish chegarasi.","operationId":"aa83fae872f75397db4574749b4fba27","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["student_id"],"properties":{"student_id":{"description":"Talaba ID (tm_students)","type":"integer"}},"type":"object"}}}},"responses":{"201":{"description":"Nazariy imtihon boshlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nazariy imtihon boshlandi"},"data":{"properties":{"theory_exam":{"$ref":"#\/components\/schemas\/TheoryExam"},"questions":{"type":"array","items":{"properties":{"id":{"type":"integer"},"question_text":{"type":"string"},"question_image":{"type":"string","nullable":true},"answer_a":{"type":"string"},"answer_b":{"type":"string"},"answer_c":{"type":"string"}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"409":{"description":"Imtihonni boshlash mumkin emas yoki yetarli savollar topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/{theoryExam}\/submit-answer":{"post":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Savolga javob berish","description":"Imtihon jarayonida savolga javob berish. Agar vaqt tugagan bo'lsa avtomatik expired bo'ladi.","operationId":"6bbef1dfebe3466f50ac1bca6fc9a412","parameters":[{"name":"theoryExam","in":"path","description":"Nazariy imtihon ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["question_id","selected_answer"],"properties":{"question_id":{"description":"Savol ID (tm_test_questions)","type":"integer"},"selected_answer":{"description":"Tanlangan javob","type":"string","enum":["a","b","c"]}},"type":"object"}}}},"responses":{"200":{"description":"Javob qabul qilindi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Javob qabul qilindi"},"data":{"properties":{"question_id":{"type":"integer"},"is_correct":{"type":"boolean"}},"type":"object"}},"type":"object"}}}},"404":{"description":"Savol imtihonda topilmadi"},"409":{"description":"Imtihon jarayonda emas yoki vaqt tugagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/{theoryExam}\/complete":{"patch":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonni yakunlash (auto-baholash)","description":"Imtihonni yakunlash va natijalarni hisoblash. Agar vaqt tugagan bo'lsa expired status beriladi.","operationId":"f638e7c4ad8b16ae51a1de87a9e75d6c","parameters":[{"name":"theoryExam","in":"path","description":"Nazariy imtihon ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nazariy imtihon yakunlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nazariy imtihon yakunlandi. Natija: o'tdi (86.67%)"},"data":{"$ref":"#\/components\/schemas\/TheoryExam"}},"type":"object"}}}},"409":{"description":"Imtihon jarayonda emas"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/{theoryExam}\/result":{"get":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihon natijasi (savollar va javoblar bilan)","description":"Imtihon natijasini ko'rish. Yakunlangan testda correct_answer ko'rsatiladi, jarayondagi testda yashiriladi.","operationId":"4b284aec3ee08053639b38fcd2cde0b4","parameters":[{"name":"theoryExam","in":"path","description":"Nazariy imtihon ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon natijasi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"theory_exam":{"$ref":"#\/components\/schemas\/TheoryExam"},"answers":{"type":"array","items":{"properties":{"question_id":{"type":"integer"},"question_text":{"type":"string"},"answer_a":{"type":"string"},"answer_b":{"type":"string"},"answer_c":{"type":"string"},"correct_answer":{"description":"Faqat yakunlangan testda ko'rsatiladi","type":"string","nullable":true,"enum":["a","b","c"]},"selected_answer":{"type":"string","nullable":true,"enum":["a","b","c"]},"is_correct":{"type":"boolean"},"answered_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-exams\/statistics":{"get":{"tags":["TM Agroteh Service","Theory Exams"],"summary":"Nazariy imtihonlar statistikasi","operationId":"9e18615325e0464db091df294f76c699","responses":{"200":{"description":"Statistika","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"total":{"type":"integer"},"by_status":{"properties":{"pending":{"type":"integer"},"in_progress":{"type":"integer"},"passed":{"type":"integer"},"failed":{"type":"integer"},"expired":{"type":"integer"}},"type":"object"},"average_score":{"type":"number","format":"float","nullable":true}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoices":{"get":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoicelar ro'yxati","description":"Nazariy imtihon invoicelari ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"54d3bc1a75f9c870549e57a3d81492fe","parameters":[{"name":"search","in":"query","description":"Invoice raqami, o'quvchi FISH yoki to'lov turi nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"tm_student_id","in":"query","description":"O'quvchi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"tm_theory_invoice_type_id","in":"query","description":"To'lov turi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"date_from","in":"query","description":"Sana (dan)","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Sana (gacha)","required":false,"schema":{"type":"string","format":"date"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Invoicelar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TheoryInvoiceResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Yangi invoice yaratish","description":"Nazariy imtihon uchun yangi invoice yaratish. O'quvchi eligible bo'lishi shart. Invoice raqami avtomatik generatsiya qilinadi (yoki qo'lda kiritish mumkin).","operationId":"9c66d649a98cc00d1a7367366bbb85ff","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TheoryInvoiceStoreRequest"}}}},"responses":{"201":{"description":"Invoice muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"tm_student_id\": [\"O'quvchi tanlanishi shart\"]}"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoices\/statistics":{"get":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoice statistikasi","description":"Jami, faol invoicelar soni va to'lov turi bo'yicha statistika.","operationId":"9e48ff4ef59b341579ef729237468998","responses":{"200":{"description":"Invoice statistikasi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceStatistics"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoices\/{theoryInvoice}":{"get":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoice ma'lumotlari","description":"Bitta invoicening to'liq ma'lumotlarini olish.","operationId":"9e32d586dd3f571832f4ddbc5bd1d201","parameters":[{"name":"theoryInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoice ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoice ma'lumotlarini yangilash","description":"Invoice ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"ca83fff556c25e39a36f21fbe0fde595","parameters":[{"name":"theoryInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"tm_student_id":{"description":"O'quvchi ID","type":"integer","example":1},"tm_theory_invoice_type_id":{"description":"To'lov turi ID","type":"integer","example":1},"invoice_number":{"description":"Invoice raqami","type":"string","example":"INV-2026-002","maxLength":255},"invoice_date":{"description":"Invoice sanasi","type":"string","format":"date","example":"2026-02-19"},"is_active":{"description":"Faol holat","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"Invoice yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoiceni o'chirish","description":"Invoiceni o'chirish.","operationId":"d0b4d465123f31c83b311be77758bbca","parameters":[{"name":"theoryInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Invoice o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Invoice muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoices\/{theoryInvoice}\/confirm-payment":{"patch":{"tags":["TM Agroteh Service","Theory Invoices"],"summary":"Invoice to'lovni tasdiqlash","description":"Invoice to'lov holatini o'zgartirish. is_paid=true bo'lganda paid_at avtomatik o'rnatiladi.","operationId":"4e43a8bad16bfe2546de093517bd8c62","parameters":[{"name":"theoryInvoice","in":"path","description":"Invoice ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["is_paid"],"properties":{"is_paid":{"description":"To'lov holati","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"To'lov holati yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov muvaffaqiyatli tasdiqlandi"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Invoice topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoice-types":{"get":{"tags":["TM Agroteh Service","Theory Invoice Types"],"summary":"To'lov turlari ro'yxati","description":"Nazariy imtihon to'lov turlari ro'yxatini olish. Qidiruv va filtrlash mumkin.","operationId":"366c8f3c730034ea54ce32a6e0d72bf1","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"To'lov turlari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TheoryInvoiceTypeResponse"}},"meta":{"properties":{"total":{"type":"integer","example":2},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":2}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Theory Invoice Types"],"summary":"Yangi to'lov turi yaratish","description":"Nazariy imtihon uchun yangi to'lov turini yaratish.","operationId":"37dbb3f158034bc2fe334c3be370838c","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TheoryInvoiceTypeStoreRequest"}}}},"responses":{"201":{"description":"To'lov turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceTypeResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"name\": [\"Nomi kiritilishi shart\"]}"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/theory-invoice-types\/{theoryInvoiceType}":{"get":{"tags":["TM Agroteh Service","Theory Invoice Types"],"summary":"To'lov turi ma'lumotlari","description":"Bitta to'lov turining to'liq ma'lumotlarini olish.","operationId":"c239963154d53aa444a7269b1e250f0b","parameters":[{"name":"theoryInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceTypeResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Theory Invoice Types"],"summary":"To'lov turi ma'lumotlarini yangilash","description":"To'lov turi ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"c659881271edcddeccf0488013d6ad5a","parameters":[{"name":"theoryInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"To'lov turi nomi","type":"string","example":"Har bir qayta nazariy imtihon topshirish uchun","maxLength":255},"amount":{"description":"Summa (tiyin)","type":"integer","example":2500000,"minimum":0},"is_active":{"description":"Faol holat","type":"boolean","example":true}},"type":"object"}}}},"responses":{"200":{"description":"To'lov turi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TheoryInvoiceTypeResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Theory Invoice Types"],"summary":"To'lov turini o'chirish","description":"To'lov turini o'chirish. Agar to'lov turiga bog'langan invoicelar mavjud bo'lsa, o'chirish mumkin emas.","operationId":"b301c2546a6178fbe2afde0b3b44c7ea","parameters":[{"name":"theoryInvoiceType","in":"path","description":"To'lov turi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"To'lov turi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"To'lov turi muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"400":{"description":"To'lov turiga bog'langan invoicelar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu to'lov turiga bog'langan invoicelar mavjud. Avval ularni o'chiring."}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"To'lov turi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/candidates":{"get":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Nomzodlar ro'yxati","description":"O'quv markazi yo'q (tm_training_center_id = NULL) studentlar ro'yxati. Qidiruv (FISH, JSHSHIR, pasport, telefon), filtrlash va sahifalash mumkin.","operationId":"0fba419aea7823740bc6adbc236c059e","parameters":[{"name":"search","in":"query","description":"FISH, JSHSHIR, pasport, telefon bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Nomzodlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Yangi nomzod qo'shish","description":"Yangi nomzod yaratish (tm_students jadvaliga, tm_training_center_id = NULL). Familiya va ism majburiy.","operationId":"6ca2c49213b92ad2d32d885dec0c0cbc","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TmCandidateStoreRequest"}}}},"responses":{"201":{"description":"Nomzod muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nomzod muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/candidates\/{candidate}":{"get":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Nomzod ma'lumotlari","description":"Bitta nomzodning to'liq ma'lumotlarini olish.","operationId":"2710d7a39a790aff494e8854725da406","parameters":[{"name":"candidate","in":"path","description":"Nomzod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nomzod ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Nomzod topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Nomzod ma'lumotlarini yangilash","description":"Nomzod ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"30d80d5643c9db3fa5116f0fab8c0b38","parameters":[{"name":"candidate","in":"path","description":"Nomzod ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"lastname":{"type":"string","example":"Karimov"},"firstname":{"type":"string","example":"Jamshid"},"middle_name":{"type":"string","example":"Botirovich","nullable":true},"passport":{"type":"string","example":"AB7654321","nullable":true},"birth_date":{"type":"string","format":"date","example":"1997-04-12","nullable":true},"jshshir":{"type":"string","example":"40412199700001","nullable":true},"phone":{"type":"string","example":"+998901112233","nullable":true},"state_id":{"type":"integer","example":1,"nullable":true},"city_id":{"type":"integer","example":1,"nullable":true},"address":{"type":"string","example":"Manzil","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Nomzod yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nomzod muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Nomzod topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Nomzodni o'chirish","description":"Nomzodni o'chirish (soft delete).","operationId":"fe43741b881dc9afd645bfb0aca9e6bf","parameters":[{"name":"candidate","in":"path","description":"Nomzod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nomzod o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nomzod muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Nomzod topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/candidates\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"O'chirilgan nomzodni tiklash","description":"Soft delete qilingan nomzodni tiklash.","operationId":"0772b1d1155009b263090f51172194b7","parameters":[{"name":"id","in":"path","description":"Nomzod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nomzod tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nomzod muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Nomzod topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/candidates\/{candidate}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","TM Candidates"],"summary":"Nomzod holatini almashtirish","description":"Nomzodni faol\/nofaol qilish.","operationId":"8f298074b871145c73f4d1223ef33025","parameters":[{"name":"candidate","in":"path","description":"Nomzod ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Nomzod holati faol qilindi"},"data":{"$ref":"#\/components\/schemas\/TmCandidateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Nomzod topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificate-bases":{"get":{"tags":["TM Agroteh Service","TM Certificate Bases"],"summary":"Guvohnoma asoslari ro'yxati","description":"Barcha guvohnoma asoslari ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"fdbfebace385cf85356e5f14141e71d3","parameters":[{"name":"search","in":"query","description":"Nomi bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Guvohnoma asoslari ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmCertificateBasisResponse"}},"meta":{"properties":{"total":{"type":"integer","example":5},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":5}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Certificate Bases"],"summary":"Yangi guvohnoma asosi qo'shish","description":"Yangi guvohnoma asosini yaratish.","operationId":"a8f6cb71c3a10a764260b2bc71ebe484","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TmCertificateBasisStoreRequest"}}}},"responses":{"201":{"description":"Guvohnoma asosi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma asosi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TmCertificateBasisResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/certificate-bases\/{certificateBasis}":{"get":{"tags":["TM Agroteh Service","TM Certificate Bases"],"summary":"Guvohnoma asosi ma'lumotlarini ko'rish","description":"Bitta guvohnoma asosining ma'lumotlarini olish.","operationId":"fe40a07ee2d44c21ef9ae5a8e3b5d361","parameters":[{"name":"certificateBasis","in":"path","description":"Guvohnoma asosi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma asosi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TmCertificateBasisResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma asosi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM Certificate Bases"],"summary":"Guvohnoma asosi ma'lumotlarini yangilash","description":"Guvohnoma asosi ma'lumotlarini yangilash.","operationId":"f8a4284595648fba2b877592ce07e6b5","parameters":[{"name":"certificateBasis","in":"path","description":"Guvohnoma asosi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TmCertificateBasisStoreRequest"}}}},"responses":{"200":{"description":"Guvohnoma asosi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma asosi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TmCertificateBasisResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma asosi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Certificate Bases"],"summary":"Guvohnoma asosini o'chirish","description":"Guvohnoma asosini o'chirish.","operationId":"f355dbd91dbd042ab9db6ebc837f5084","parameters":[{"name":"certificateBasis","in":"path","description":"Guvohnoma asosi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma asosi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma asosi muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma asosi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individual-certificates":{"get":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Jismoniy shaxs guvohnomalari ro'yxati","description":"Barcha jismoniy shaxs guvohnomalari ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"4a0bdae77757b45497cd0ad05fceb2a1","parameters":[{"name":"search","in":"query","description":"Guvohnoma raqami, FISH, JSHSHIR, pasport bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"tm_individual_id","in":"query","description":"Jismoniy shaxs ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"tm_certificate_basis_id","in":"query","description":"Guvohnoma asosi ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","description":"Status bo'yicha filter (pending\/approved\/rejected\/issued)","required":false,"schema":{"type":"string"}},{"name":"payment_status","in":"query","description":"To'lov holati (unpaid\/paid\/partial)","required":false,"schema":{"type":"string"}},{"name":"is_paid","in":"query","description":"To'langan filter","required":false,"schema":{"type":"boolean"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Guvohnomalar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Yangi guvohnoma yaratish","description":"Jismoniy shaxs uchun yangi guvohnoma yaratish. Fayllar multipart\/form-data orqali yuboriladi.","operationId":"075f953bbe0a1466dd3df6ad540c243a","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/TmIndividualCertificateStoreRequest"}}}},"responses":{"201":{"description":"Guvohnoma muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individual-certificates\/{individualCertificate}":{"get":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Guvohnoma ma'lumotlarini ko'rish","description":"Bitta guvohnomaning to'liq ma'lumotlarini olish.","operationId":"c374c3ebb11bb8e41646e0040e2bbe9e","parameters":[{"name":"individualCertificate","in":"path","description":"Guvohnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Guvohnoma ma'lumotlarini yangilash","description":"Guvohnoma ma'lumotlarini qisman yoki to'liq yangilash. Fayllar multipart\/form-data orqali yuboriladi. PUT o'rniga POST + _method=PUT ishlatiladi.","operationId":"6878354477eb19afd6f99c5019db968d","parameters":[{"name":"individualCertificate","in":"path","description":"Guvohnoma ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"allOf":[{"$ref":"#\/components\/schemas\/TmIndividualCertificateStoreRequest"},{"properties":{"_method":{"description":"HTTP method override","type":"string","example":"PUT"}},"type":"object"}]}}}},"responses":{"200":{"description":"Guvohnoma yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Guvohnomani o'chirish","description":"Guvohnomani o'chirish (soft delete). Keyinchalik restore qilish mumkin.","operationId":"f08df506672b6a8072760ea85e5fd36b","parameters":[{"name":"individualCertificate","in":"path","description":"Guvohnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individual-certificates\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"O'chirilgan guvohnomani tiklash","description":"Soft delete qilingan guvohnomani qayta tiklash.","operationId":"46ccbc2fa929804922e8a8a61757602a","parameters":[{"name":"id","in":"path","description":"Guvohnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individual-certificates\/{individualCertificate}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Guvohnoma holatini almashtirish (faol\/nofaol)","description":"Guvohnomaning faol holatini teskari qiymatga o'zgartirish.","operationId":"8897be559aaf954ae77bd09e5de7e58b","parameters":[{"name":"individualCertificate","in":"path","description":"Guvohnoma ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Guvohnoma holati faol qilindi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualCertificateResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individual-certificates\/verify\/{qrToken}":{"get":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"QR kod orqali guvohnomani tekshirish (ochiq)","description":"Ochiq API \u2014 autentifikatsiya kerak emas. QR skanerlanganda frontend shu API'ga murojaat qiladi.","operationId":"63bdb29124f60fa03c1ff714dbcd5041","parameters":[{"name":"qrToken","in":"path","description":"QR koddagi unique token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Guvohnoma ma'lumotlari"},"404":{"description":"Guvohnoma topilmadi"}}}},"\/api\/v1\/tm\/individual-certificates\/{individualCertificate}\/print":{"patch":{"tags":["TM Agroteh Service","TM Individual Certificates"],"summary":"Guvohnomani chop etish","description":"Guvohnomani chop etilgan deb belgilaydi. Faqat 1 marta chop etish mumkin. 72 soat ichida chop etilmasa avtomatik o'chiriladi.","operationId":"1a83568b5a3dcb0e9e9017f42e3446ef","parameters":[{"name":"individualCertificate","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Guvohnoma chop etildi"},"403":{"description":"Guvohnoma allaqachon chop etilgan"},"404":{"description":"Guvohnoma topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individuals":{"get":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Jismoniy shaxslar ro'yxati","description":"Barcha jismoniy shaxslar ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"1c3f06ec45a85bde41de125f4dde3918","parameters":[{"name":"search","in":"query","description":"FISH, JSHSHIR, pasport, telefon bo'yicha qidiruv","required":false,"schema":{"type":"string"}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filter","required":false,"schema":{"type":"integer"}},{"name":"is_active","in":"query","description":"Faol\/nofaol filter","required":false,"schema":{"type":"boolean"}},{"name":"is_foreign","in":"query","description":"Chetel fuqarosi filter","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Jismoniy shaxslar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"meta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1},"to":{"type":"integer","example":15}},"type":"object"},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Yangi jismoniy shaxs qo'shish","description":"Yangi jismoniy shaxs ma'lumotlarini kiritish.","operationId":"0510dd8e427d20412c0296b02f557d3a","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TmIndividualStoreRequest"}}}},"responses":{"201":{"description":"Jismoniy shaxs muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jismoniy shaxs muvaffaqiyatli qo'shildi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individuals\/find-by-passport":{"get":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Pasport yoki JSHSHIR bo'yicha jismoniy shaxsni qidirish","description":"Pasport seriyasi, to'liq pasport raqami yoki JSHSHIR bo'yicha jismoniy shaxsni topish.","operationId":"e7666e1f247c56e2715f0dc8ea0530cf","parameters":[{"name":"passport","in":"query","description":"Pasport seriyasi (masalan: AB), to'liq raqami (masalan: AB1234567) yoki JSHSHIR (masalan: 12345678901234)","required":true,"schema":{"type":"string","example":"AB1234567","maxLength":14,"minLength":2}}],"responses":{"200":{"description":"Topilgan jismoniy shaxslar","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"passport":{"type":"string","example":"AB1234567"},"jshshir":{"type":"string","example":"12345678901234"}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individuals\/{individual}":{"get":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Jismoniy shaxs ma'lumotlarini ko'rish","description":"Bitta jismoniy shaxsning to'liq ma'lumotlarini olish.","operationId":"a7b4114b8bc6d3e44c1dc42af43086d9","parameters":[{"name":"individual","in":"path","description":"Jismoniy shaxs ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Jismoniy shaxs ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Jismoniy shaxs topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Jismoniy shaxs ma'lumotlarini yangilash","description":"Jismoniy shaxs ma'lumotlarini qisman yoki to'liq yangilash.","operationId":"8c6996dec63597d92efc05dcf631e5da","parameters":[{"name":"individual","in":"path","description":"Jismoniy shaxs ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TmIndividualStoreRequest"}}}},"responses":{"200":{"description":"Jismoniy shaxs yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jismoniy shaxs ma'lumotlari muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Jismoniy shaxs topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Jismoniy shaxsni o'chirish","description":"Jismoniy shaxsni o'chirish (soft delete). Keyinchalik restore qilish mumkin.","operationId":"5ddaef5995cafde2ac1f362f14517aca","parameters":[{"name":"individual","in":"path","description":"Jismoniy shaxs ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Jismoniy shaxs o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jismoniy shaxs muvaffaqiyatli o'chirildi"},"data":{"type":"string","example":null,"nullable":true}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Jismoniy shaxs topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individuals\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"O'chirilgan jismoniy shaxsni tiklash","description":"Soft delete qilingan jismoniy shaxsni qayta tiklash.","operationId":"5db828680f83106be861bbd3bf93e083","parameters":[{"name":"id","in":"path","description":"Jismoniy shaxs ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Jismoniy shaxs tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jismoniy shaxs muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Jismoniy shaxs topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/individuals\/{individual}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","TM Individuals"],"summary":"Jismoniy shaxs holatini almashtirish (faol\/nofaol)","description":"Jismoniy shaxsning faol holatini teskari qiymatga o'zgartirish.","operationId":"22a21a19135f58da0ac3f551537bcf3d","parameters":[{"name":"individual","in":"path","description":"Jismoniy shaxs ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Jismoniy shaxs holati faol qilindi"},"data":{"$ref":"#\/components\/schemas\/TmIndividualResponse"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Jismoniy shaxs topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchilar ro'yxati","description":"Barcha o'quvchilar ro'yxatini olish. Qidiruv, filtrlash va sahifalash mumkin.","operationId":"154b5353114463db5eff8cdcff783cf9","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"tm_training_center_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"study_category","in":"query","required":false,"schema":{"type":"string","enum":["A","B","C","D","E","F"]}},{"name":"state_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"study_start_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"study_start_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"study_end_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"study_end_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"study_finished","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"study_class_category_ids[]","in":"query","description":"O'quv sinf kategoriyalari bo'yicha filter. Bir nechta ID yuborish mumkin.","required":false,"schema":{"type":"array","items":{"type":"integer"}},"example":[1,2]},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15,"minimum":-1}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"O'quvchilar ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","TM Students"],"summary":"Yangi o'quvchi qo'shish","operationId":"58397cb024e6e5ace9c46751d4c601c1","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["lastname","firstname"],"properties":{"lastname":{"type":"string","example":"Valiyev"},"firstname":{"type":"string","example":"Ali"},"middle_name":{"type":"string","nullable":true},"jshshir":{"type":"string","nullable":true,"maxLength":14},"stir":{"type":"string","nullable":true},"passport_series":{"type":"string","nullable":true,"maxLength":2},"passport_number":{"type":"string","nullable":true,"maxLength":7},"birth_date":{"type":"string","format":"date","nullable":true},"phone":{"type":"string","nullable":true},"state_id":{"type":"integer","nullable":true},"city_id":{"type":"integer","nullable":true},"address":{"type":"string","nullable":true},"tm_training_center_id":{"type":"integer","nullable":true},"study_class_category_ids":{"description":"O'quv sinf kategoriyalari ID lari","type":"array","items":{"type":"integer"},"nullable":true},"study_start_date":{"type":"string","format":"date","nullable":true},"study_end_date":{"type":"string","format":"date","nullable":true},"certificate_number":{"type":"string","nullable":true},"certificate_date":{"type":"string","format":"date","nullable":true},"medical_date":{"description":"Tibbiy ko'rik sanasi","type":"string","format":"date","nullable":true},"medical_number":{"description":"Tibbiy ko'rik raqami","type":"string","nullable":true},"medical_file":{"description":"Tibbiy ko'rik fayli (pdf, jpg, jpeg, png, max 5MB)","type":"string","format":"binary","nullable":true},"reference_file":{"type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"O'quvchi muvaffaqiyatli yaratildi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchi ma'lumotlarini ko'rish","operationId":"710ee0d05ace57b647f207fc4fb9f60b","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quvchi ma'lumotlari"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchi ma'lumotlarini yangilash","operationId":"ab26bc725b248f82a2a6d0d5b378cbf5","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"lastname":{"type":"string","nullable":true},"firstname":{"type":"string","nullable":true},"study_class_category_ids":{"description":"Yuborilsa \u2014 to'liq almashtiradi. Bo'sh array `[]` \u2014 barchasini o'chiradi.","type":"array","items":{"type":"integer"},"nullable":true},"reference_file":{"type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"O'quvchi yangilandi"},"404":{"description":"O'quvchi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchini o'chirish","operationId":"05084c0705e06bed4720badb5a9b3879","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quvchi o'chirildi"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'chirilgan o'quvchini tiklash","operationId":"2c7ca45ff3db8af64ce5019b81748e31","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quvchi tiklandi"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchi holatini almashtirish (faol\/nofaol)","operationId":"93a2a1397138d4f28270ebef9020aebd","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/statistics":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchilar statistikasi","operationId":"81137aa8f0c86411d34da79de51f73df","responses":{"200":{"description":"Statistika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/upload-reference":{"post":{"tags":["TM Agroteh Service","TM Students"],"summary":"Malumotnoma faylini yuklash","operationId":"98e189ea0388323bff2f318545c25a74","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["reference_file"],"properties":{"reference_file":{"type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Fayl muvaffaqiyatli yuklandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/delete-reference":{"delete":{"tags":["TM Agroteh Service","TM Students"],"summary":"Malumotnoma faylini o'chirish","operationId":"bf1e9951ecdddf025795aa9961e2721a","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fayl o'chirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/reference-file":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"Malumotnoma faylini yuklab olish","operationId":"4f71e2b9aed4d3f9ad7656fc366811a2","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fayl"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/upload-certificate":{"post":{"tags":["TM Agroteh Service","TM Students - Sertifikat"],"summary":"Sertifikat ma'lumotlarini saqlash","operationId":"uploadStudentCertificate","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"multipart\/form-data":{"schema":{"properties":{"certificate_number":{"type":"string","nullable":true},"certificate_date":{"type":"string","format":"date","nullable":true},"certificate_file":{"type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Sertifikat saqlandi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/update-certificate":{"post":{"tags":["TM Agroteh Service","TM Students - Sertifikat"],"summary":"Sertifikat ma'lumotlarini tahrirlash","operationId":"updateStudentCertificate","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"multipart\/form-data":{"schema":{"properties":{"certificate_number":{"type":"string","nullable":true},"certificate_date":{"type":"string","format":"date","nullable":true},"certificate_file":{"type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Sertifikat yangilandi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/delete-certificate":{"delete":{"tags":["TM Agroteh Service","TM Students - Sertifikat"],"summary":"Sertifikat faylini o'chirish","operationId":"deleteStudentCertificate","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Sertifikat fayli o'chirildi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/certificate-file":{"get":{"tags":["TM Agroteh Service","TM Students - Sertifikat"],"summary":"Sertifikat PDF faylini yuklab olish","operationId":"serveStudentCertificate","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"PDF fayl"},"404":{"description":"Fayl topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/{student}\/exam-schedule":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchining imtihon jadvali (nazariy + amaliy)","operationId":"5c79b238cce5949b37e1ac182a47e87b","parameters":[{"name":"student","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Imtihon jadvali"},"404":{"description":"O'quvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/students\/check-certificate":{"get":{"tags":["TM Agroteh Service","TM Students"],"summary":"O'quvchining avvalgi guvohnomasini tekshirish","description":"Passport, STIR yoki JSHSHIR va toifa bo'yicha avvalgi guvohnoma mavjudligini tekshirish. O'quvchi qo'shishda toifa tanlaganda ishlatiladi.","operationId":"7ea7cef7f5d52ea3c68f94b0e0592250","parameters":[{"name":"passport","in":"query","description":"Passport seriya + raqam (masalan: AA1234567)","required":false,"schema":{"type":"string","maxLength":9}},{"name":"stir","in":"query","description":"STIR raqami","required":false,"schema":{"type":"string","maxLength":14}},{"name":"jshshir","in":"query","description":"JSHSHIR raqami","required":false,"schema":{"type":"string","maxLength":14}},{"name":"category","in":"query","description":"O'qish toifasi (A, B, C, D, E, F)","required":true,"schema":{"type":"string","enum":["A","B","C","D","E","F"]}}],"responses":{"200":{"description":"Tekshiruv natijasi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/training-centers":{"get":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazlari ro'yxati","operationId":"b2e1b0f93842ecb10be14f54bc763767","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"state_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"city_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","description":"Saralash ustuni","schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"O'quv markazlari ro'yxati"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["TM Agroteh Service","Training Centers"],"summary":"Yangi o'quv markazi qo'shish (hodim bilan)","description":"O'quv markaz yaratilganda avtomatik hodim (user) ham yaratiladi. User login (email) va parol bilan tizimga kiradi, roli `tm-training-center`, hududi o'quv markaz hududi.","operationId":"c414e41d4c6df9e1f50382adae85df85","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","user_email","user_password"],"properties":{"name":{"description":"O'quv markazi nomi","type":"string","example":"Toshkent viloyati OSTK","maxLength":255},"stir":{"description":"Tashkilot STIR raqami","type":"string","example":"305831133","nullable":true,"maxLength":14},"fio":{"description":"Mas'ul shaxs F.I.O (Familiya Ism Otasining ismi)","type":"string","example":"Aliyev Vali Karimovich","maxLength":255},"mfo":{"description":"Bank MFO kodi (5 raqam)","type":"string","example":"00845","nullable":true,"maxLength":5,"minLength":5},"account_number":{"description":"Bank hisob raqami","type":"string","example":"20208000123456789012","nullable":true,"maxLength":50},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567","nullable":true,"maxLength":20},"state_id":{"description":"Viloyat ID (tbl_states)","type":"integer","example":27,"nullable":true},"city_id":{"description":"Tuman\/Shahar ID (tbl_cities)","type":"integer","example":2701,"nullable":true},"address":{"description":"To'liq manzil","type":"string","example":"Bektemir tumani, Agro ko'chasi, 1-uy","nullable":true,"maxLength":1000},"user_email":{"description":"Tizimga kirish logini (unique)","type":"string","example":"toshkent_ostk","maxLength":255},"user_password":{"description":"Tizimga kirish paroli (kamida 6 belgi)","type":"string","format":"password","example":"parol123","minLength":6}},"type":"object"}}}},"responses":{"201":{"description":"O'quv markazi va hodim muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"O'quv markazi va hodim muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/TrainingCenterResource"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}},"type":"object"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/training-centers\/{trainingCenter}":{"get":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazi ma'lumotlari","operationId":"b82c804703e2a6a281492a57a9aa16c9","parameters":[{"name":"trainingCenter","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quv markazi ma'lumotlari"},"404":{"description":"O'quv markazi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazi ma'lumotlarini yangilash","operationId":"70792113cd75270b5590ec579b9bbbd5","parameters":[{"name":"trainingCenter","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"O'quv markazi nomi","type":"string","example":"Toshkent avtomaktab","maxLength":255},"stir":{"description":"STIR (faqat raqamlar)","type":"string","example":"12345678901234","nullable":true,"maxLength":14},"fio":{"description":"Mas'ul shaxs FIO","type":"string","example":"Aliyev Vali Karimovich","nullable":true,"maxLength":255},"mfo":{"description":"MFO (5 ta raqam)","type":"string","example":"00845","nullable":true,"maxLength":5,"minLength":5},"account_number":{"description":"Xisob raqami (faqat raqamlar)","type":"string","example":"20208000123456789012","nullable":true,"maxLength":20},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567","nullable":true,"maxLength":20},"state_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"city_id":{"description":"Tuman\/Shahar ID","type":"integer","example":10,"nullable":true},"address":{"description":"Manzil","type":"string","example":"Toshkent sh., Chilonzor tumani, Bunyodkor ko'chasi 1","nullable":true,"maxLength":1000},"is_active":{"description":"Faollik holati","type":"boolean","example":true,"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"O'quv markazi yangilandi"},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"O'quv markazi topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazini o'chirish","operationId":"8097a7b90f21be3dcb7505a68359b6fd","parameters":[{"name":"trainingCenter","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quv markazi o'chirildi"},"404":{"description":"O'quv markazi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/training-centers\/{id}\/restore":{"post":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'chirilgan o'quv markazini tiklash","operationId":"9b28d140ce3f9700790cd6305e7b958f","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'quv markazi tiklandi"},"404":{"description":"O'quv markazi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/training-centers\/{trainingCenter}\/toggle-status":{"patch":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazi holatini almashtirish","operationId":"874cdd371f1edd11981c0bef31d45ba9","parameters":[{"name":"trainingCenter","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi"},"404":{"description":"O'quv markazi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/tm\/training-centers\/statistics":{"get":{"tags":["TM Agroteh Service","Training Centers"],"summary":"O'quv markazlari statistikasi","operationId":"d1b4242ccb107617f899607255a19262","responses":{"200":{"description":"Statistika"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/agro-events":{"get":{"tags":["Inspector Service","Agro Events"],"summary":"Agrotexnik tadbirlar ro'yxati","description":"Barcha agrotexnik tadbirlarni filterlash va sahifalash bilan olish. `per_page=-1` bo'lsa barcha yozuvlar qaytariladi.","operationId":"agroEventIndex","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"Sug'orish","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filterlash","required":false,"schema":{"type":"boolean","example":true}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni. `-1` = hammasi (max 1000)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","name","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Agrotexnik tadbirlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/AgroEvent"}},"meta":{"$ref":"#\/components\/schemas\/PaginationMeta"},"links":{"$ref":"#\/components\/schemas\/PaginationLinks"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Agro Events"],"summary":"Yangi agrotexnik tadbir yaratish","description":"Yangi agrotexnik tadbir yaratish. Nom unikal bo'lishi shart.","operationId":"agroEventStore","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Agrotexnik tadbir nomi (unikal)","type":"string","example":"Sug'orish","maxLength":255}},"type":"object"}}}},"responses":{"201":{"description":"Agrotexnik tadbir muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Agrotexnik tadbir muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/AgroEvent"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/agro-events\/{agroEvent}":{"get":{"tags":["Inspector Service","Agro Events"],"summary":"Agrotexnik tadbir ma'lumotlari","description":"Bitta agrotexnik tadbir haqida to'liq ma'lumot olish","operationId":"agroEventShow","parameters":[{"name":"agroEvent","in":"path","description":"Agrotexnik tadbir ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Agrotexnik tadbir ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/AgroEvent"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Agrotexnik tadbir topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Agro Events"],"summary":"Agrotexnik tadbirni yangilash","description":"Agrotexnik tadbirni yangilash. POST ishlatiladi (PUT o'rniga) multipart mos kelishi uchun.","operationId":"agroEventUpdate","parameters":[{"name":"agroEvent","in":"path","description":"Agrotexnik tadbir ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Agrotexnik tadbir nomi (unikal)","type":"string","example":"O'g'itlash","maxLength":255}},"type":"object"}}}},"responses":{"200":{"description":"Agrotexnik tadbir muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Agrotexnik tadbir muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/AgroEvent"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Agrotexnik tadbir topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Agro Events"],"summary":"Agrotexnik tadbirni o'chirish (soft delete)","description":"Agrotexnik tadbirni o'chirish. Soft delete qo'llaniladi \u2014 tiklash uchun `restore` endpoint ishlatiladi.","operationId":"agroEventDestroy","parameters":[{"name":"agroEvent","in":"path","description":"Agrotexnik tadbir ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Agrotexnik tadbir muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Agrotexnik tadbir muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Agrotexnik tadbir topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/agro-events\/{id}\/restore":{"post":{"tags":["Inspector Service","Agro Events"],"summary":"O'chirilgan agrotexnik tadbirni tiklash","description":"Soft delete bilan o'chirilgan agrotexnik tadbirni qayta tiklash","operationId":"agroEventRestore","parameters":[{"name":"id","in":"path","description":"O'chirilgan agrotexnik tadbir ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Agrotexnik tadbir muvaffaqiyatli tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Agrotexnik tadbir muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/AgroEvent"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Agrotexnik tadbir topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/agro-events\/{agroEvent}\/toggle-status":{"patch":{"tags":["Inspector Service","Agro Events"],"summary":"Agrotexnik tadbir faolligini o'zgartirish","description":"Agrotexnik tadbirning `is_active` holatini teskari qiymatga o'zgartirish (true \u2194 false)","operationId":"agroEventToggleStatus","parameters":[{"name":"agroEvent","in":"path","description":"Agrotexnik tadbir ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Agrotexnik tadbir holati muvaffaqiyatli o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Agrotexnik tadbir holati muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/AgroEvent"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Agrotexnik tadbir topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-categories\/with-crop-types":{"get":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifalari ekin turlari bilan","description":"Barcha faol ekin toifalarini ularning ekin turlari bilan qaytaradi.","operationId":"12e3b7ef24113737ac1cb1cc3b33c823","responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-categories":{"get":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifalari ro'yxati","operationId":"141943003bb7417ef3d98bbd55e7a6ab","parameters":[{"name":"search","in":"query","schema":{"type":"string"}},{"name":"is_active","in":"query","schema":{"type":"boolean"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":15}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort_by","in":"query","schema":{"type":"string","default":"id","enum":["id","name","created_at"]}},{"name":"sort_order","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Crop Categories"],"summary":"Yangi ekin toifasi yaratish","operationId":"2bd75d5f212e765613ea2cbf27a8da4b","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string","example":"Boshoqli don ekinlari"}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-categories\/{id}":{"get":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifasini ko'rish","operationId":"75a3c51cf3958c3dae4fc8f75fa8ea04","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifasini yangilash","operationId":"c0ca499fd58c8a6906422e0045e78122","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Texnik ekinlar"}},"type":"object"}}}},"responses":{"200":{"description":"Yangilandi"},"404":{"description":"Topilmadi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifasini o'chirish","operationId":"d26fa14ca5106f33bd51006a62ca109e","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"O'chirildi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-categories\/{id}\/restore":{"post":{"tags":["Inspector Service","Crop Categories"],"summary":"O'chirilgan ekin toifasini tiklash","operationId":"a39683b416620915b89e2cd77b782374","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tiklandi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-categories\/{id}\/toggle-status":{"patch":{"tags":["Inspector Service","Crop Categories"],"summary":"Ekin toifasi holatini o'zgartirish","operationId":"da5d162ec3009ba2e1574f862ab63697","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi"},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-types\/with-goals":{"get":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turlari maqsadlari bilan","description":"Barcha faol ekin turlarini ularning maqsadlari (goals) bilan qaytaradi. Har bir maqsadda id, name va icon bo'ladi. Mobile app uchun mo'ljallangan.","operationId":"cropTypeWithGoals","responses":{"200":{"description":"Ekin turlari maqsadlari bilan muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CropTypeWithGoals"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-types":{"get":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turlari ro'yxati","description":"Barcha ekin turlarini filterlash va sahifalash bilan olish. `per_page=-1` bo'lsa barcha yozuvlar qaytariladi.","operationId":"cropTypeIndex","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"Bug'doy","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filterlash","required":false,"schema":{"type":"boolean","example":true}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni. `-1` = hammasi (max 1000)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","name","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Ekin turlari ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CropType"}},"meta":{"$ref":"#\/components\/schemas\/PaginationMeta"},"links":{"$ref":"#\/components\/schemas\/PaginationLinks"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Crop Types"],"summary":"Yangi ekin turi yaratish","description":"Yangi ekin turi yaratish. Nom unikal bo'lishi shart.","operationId":"cropTypeStore","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Ekin turi nomi (unikal)","type":"string","example":"Bug'doy","maxLength":255}},"type":"object"}}}},"responses":{"201":{"description":"Ekin turi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ekin turi muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/CropType"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-types\/{cropType}":{"get":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turi ma'lumotlari","description":"Bitta ekin turi haqida to'liq ma'lumot olish","operationId":"cropTypeShow","parameters":[{"name":"cropType","in":"path","description":"Ekin turi ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ekin turi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/CropType"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Ekin turi topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turini yangilash","description":"Ekin turini yangilash. POST ishlatiladi (PUT o'rniga) multipart mos kelishi uchun.","operationId":"cropTypeUpdate","parameters":[{"name":"cropType","in":"path","description":"Ekin turi ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Ekin turi nomi (unikal)","type":"string","example":"Sholi","maxLength":255}},"type":"object"}}}},"responses":{"200":{"description":"Ekin turi muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ekin turi muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/CropType"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Ekin turi topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turini o'chirish (soft delete)","description":"Ekin turini o'chirish. Soft delete qo'llaniladi \u2014 ma'lumot bazadan o'chirilmaydi, faqat `deleted_at` belgilanadi. Tiklash uchun `restore` endpoint ishlatiladi.","operationId":"cropTypeDestroy","parameters":[{"name":"cropType","in":"path","description":"Ekin turi ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ekin turi muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ekin turi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Ekin turi topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-types\/{id}\/restore":{"post":{"tags":["Inspector Service","Crop Types"],"summary":"O'chirilgan ekin turini tiklash","description":"Soft delete bilan o'chirilgan ekin turini qayta tiklash","operationId":"cropTypeRestore","parameters":[{"name":"id","in":"path","description":"O'chirilgan ekin turi ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ekin turi muvaffaqiyatli tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ekin turi muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/CropType"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Ekin turi topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/crop-types\/{cropType}\/toggle-status":{"patch":{"tags":["Inspector Service","Crop Types"],"summary":"Ekin turi faolligini o'zgartirish","description":"Ekin turining `is_active` holatini teskari qiymatga o'zgartirish (true \u2194 false)","operationId":"cropTypeToggleStatus","parameters":[{"name":"cropType","in":"path","description":"Ekin turi ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Ekin turi holati muvaffaqiyatli o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ekin turi holati muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/CropType"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Ekin turi topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/dashboard":{"get":{"tags":["Inspector Service","Dashboard"],"summary":"Bosh sahifa statistikasi","description":"Umumiy statistika:\n- **Fermer xo'jaliklar** \u2014 jami, yangi (shu oy), viloyat\/tuman bo'yicha\n- **Monitoringlar** \u2014 jami, status bo'yicha (draft, new, approved, rejected)\n- **Tekshiruvlar** \u2014 jami, status bo'yicha (new, uploaded, approved, rejected)","operationId":"93fbcdf6c2fcef0c521894b78b38aa53","responses":{"200":{"description":"Statistika","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"enterprises":{"properties":{"total":{"description":"Jami fermer xo'jaliklar","type":"integer","example":150},"this_month":{"description":"Shu oyda qo'shilgan","type":"integer","example":12}},"type":"object"},"monitorings":{"properties":{"total":{"description":"Jami monitoringlar","type":"integer","example":85},"draft":{"type":"integer","example":5},"new":{"type":"integer","example":20},"approved":{"type":"integer","example":50},"rejected":{"type":"integer","example":10}},"type":"object"},"inspections":{"properties":{"total":{"description":"Jami tekshiruvlar","type":"integer","example":60},"new":{"type":"integer","example":10},"uploaded":{"type":"integer","example":15},"approved":{"type":"integer","example":30},"rejected":{"type":"integer","example":5}},"type":"object"}},"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/dashboard\/search":{"get":{"tags":["Inspector Service","Dashboard"],"summary":"Global qidirish","description":"Bitta `search` parametri bilan barcha bo'limlardan qidirish:\n\n### Qidiriladi:\n- **Monitoringlar** \u2014 kontur raqami, fermer nomi, STIR, raxbar, telefon, ekin toifasi, ekin turi, maqsad, agro tadbir\n- **Tekshiruvlar** \u2014 kontur raqami, fermer nomi, STIR, raxbar, telefon, ekin toifasi, ekin turi, maqsad, agro tadbir\n- **Fermer xo'jaliklar** \u2014 nomi, STIR, raxbar FIO, telefon, manzil\n\n### Natija:\nHar bir bo'lim uchun alohida massiv (max 10 ta natija)","operationId":"f9f9ff3752b7b6ccd4b38990dc6f0b56","parameters":[{"name":"search","in":"query","description":"Qidirish so'zi (kamida 2 belgi)","required":true,"schema":{"type":"string","example":"bug'doy","minLength":2}}],"responses":{"200":{"description":"Qidirish natijalari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"properties":{"monitorings":{"properties":{"total":{"description":"Jami topilgan","type":"integer","example":5},"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/MonitoringList"}}},"type":"object"},"inspections":{"properties":{"total":{"description":"Jami topilgan","type":"integer","example":3},"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResponse"}}},"type":"object"},"enterprises":{"properties":{"total":{"description":"Jami topilgan","type":"integer","example":2},"items":{"type":"array","items":{"properties":{"id":{"type":"integer"},"stir":{"type":"string"},"legal_name":{"type":"string"},"director_full_name":{"type":"string"},"phone":{"type":"string"},"address":{"type":"string"},"region_id":{"type":"integer"},"district_id":{"type":"integer"}},"type":"object"}}},"type":"object"}},"type":"object"}},"type":"object"}}}},"422":{"description":"search parametri majburiy (kamida 2 belgi)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/files\/{path}":{"get":{"tags":["Inspector Service","Files"],"summary":"S3 dan fayl olish","description":"S3\/MinIO storage dan faylni olish. Faqat `inspector\/*` prefiksidagi fayllar ruxsat etilgan.\n\n**Xavfsizlik:** Directory traversal (`..`, `\/\/`) va null byte bloklangan.\n**Cache:** `Cache-Control: public, max-age=86400` (24 soat).\n**Foydalanish:** Goal icon rasmlari va monitoring rasmlari shu endpoint orqali olinadi.","operationId":"fileServe","parameters":[{"name":"path","in":"path","description":"S3 dagi fayl yo'li (masalan: `inspector\/goals\/abc123.jpg` yoki `inspector\/monitorings\/def456.png`)","required":true,"schema":{"type":"string","example":"inspector\/goals\/abc123.jpg"}}],"responses":{"200":{"description":"Fayl muvaffaqiyatli qaytarildi","headers":{"Content-Type":{"description":"Fayl MIME turi (image\/jpeg, image\/png va h.k.)","schema":{"type":"string","example":"image\/jpeg"}},"Cache-Control":{"description":"Kesh boshqaruvi","schema":{"type":"string","example":"public, max-age=86400"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Noto'g'ri fayl yo'li (null byte yoki boshqaruv belgilari)"},"403":{"description":"Ruxsat etilmagan fayl yo'li (directory traversal yoki taqiqlangan prefiks)"},"404":{"description":"Fayl topilmadi"}}}},"\/api\/v1\/inspector\/goals":{"get":{"tags":["Inspector Service","Goals"],"summary":"Maqsadlar ro'yxati","description":"Barcha maqsadlarni filterlash va sahifalash bilan olish. Ekin turi va agrotexnik tadbir ma'lumotlari bilan birga qaytariladi.","operationId":"goalIndex","parameters":[{"name":"search","in":"query","description":"Nom bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"Bug'doy sug'orish","maxLength":255}},{"name":"crop_type_id","in":"query","description":"Ekin turi ID bo'yicha filterlash","required":false,"schema":{"type":"integer","example":1}},{"name":"agro_event_id","in":"query","description":"Agrotexnik tadbir ID bo'yicha filterlash","required":false,"schema":{"type":"integer","example":1}},{"name":"is_active","in":"query","description":"Faollik holati bo'yicha filterlash","required":false,"schema":{"type":"boolean","example":true}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni. `-1` = hammasi (max 1000)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","name","crop_type_id","agro_event_id","is_active","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Maqsadlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Goal"}},"meta":{"$ref":"#\/components\/schemas\/PaginationMeta"},"links":{"$ref":"#\/components\/schemas\/PaginationLinks"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Goals"],"summary":"Yangi maqsad yaratish","description":"Yangi maqsad yaratish. Icon rasmni `multipart\/form-data` orqali yuborish mumkin. Ruxsat etilgan formatlar: jpg, jpeg, png, svg, webp (max 2MB).","operationId":"goalStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["crop_type_id","agro_event_id","name"],"properties":{"crop_type_id":{"description":"Ekin turi ID (mavjud bo'lishi shart)","type":"integer","example":1},"agro_event_id":{"description":"Agrotexnik tadbir ID (mavjud bo'lishi shart)","type":"integer","example":1},"name":{"description":"Maqsad nomi","type":"string","example":"Bug'doy sug'orish rejasi","maxLength":255},"icon":{"description":"Maqsad icon rasmi (jpg, jpeg, png, svg, webp \u2014 max 2MB)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Maqsad muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Maqsad muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/Goal"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}},"500":{"description":"S3 fayl yuklashda xatolik","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ServerErrorResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/goals\/{goal}":{"get":{"tags":["Inspector Service","Goals"],"summary":"Maqsad ma'lumotlari","description":"Bitta maqsad haqida to'liq ma'lumot olish (ekin turi va agrotexnik tadbir bilan)","operationId":"goalShow","parameters":[{"name":"goal","in":"path","description":"Maqsad ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Maqsad ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/Goal"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Maqsad topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Goals"],"summary":"Maqsadni yangilash","description":"Maqsadni yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring. Yangi icon yuborilsa eskisi avtomatik o'chiriladi.","operationId":"goalUpdate","parameters":[{"name":"goal","in":"path","description":"Maqsad ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":1},"agro_event_id":{"description":"Agrotexnik tadbir ID","type":"integer","example":1},"name":{"description":"Maqsad nomi","type":"string","example":"Yangilangan maqsad nomi","maxLength":255},"icon":{"description":"Yangi icon rasm (eskisi o'chiriladi)","type":"string","format":"binary","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Maqsad muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Maqsad muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/Goal"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Maqsad topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}},"500":{"description":"S3 fayl yuklashda xatolik","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ServerErrorResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Goals"],"summary":"Maqsadni o'chirish (soft delete)","description":"Maqsadni o'chirish. Soft delete qo'llaniladi \u2014 tiklash uchun `restore` endpoint ishlatiladi.","operationId":"goalDestroy","parameters":[{"name":"goal","in":"path","description":"Maqsad ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Maqsad muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Maqsad muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Maqsad topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/goals\/{id}\/restore":{"post":{"tags":["Inspector Service","Goals"],"summary":"O'chirilgan maqsadni tiklash","description":"Soft delete bilan o'chirilgan maqsadni qayta tiklash","operationId":"goalRestore","parameters":[{"name":"id","in":"path","description":"O'chirilgan maqsad ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Maqsad muvaffaqiyatli tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Maqsad muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/Goal"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Maqsad topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/goals\/{goal}\/toggle-status":{"patch":{"tags":["Inspector Service","Goals"],"summary":"Maqsad faolligini o'zgartirish","description":"Maqsadning `is_active` holatini teskari qiymatga o'zgartirish (true \u2194 false)","operationId":"goalToggleStatus","parameters":[{"name":"goal","in":"path","description":"Maqsad ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Maqsad holati muvaffaqiyatli o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Maqsad holati muvaffaqiyatli o'zgartirildi"},"data":{"$ref":"#\/components\/schemas\/Goal"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Maqsad topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/health":{"get":{"tags":["Inspector Service","Health"],"summary":"Servis holati tekshiruvi","description":"Inspector servisining ishlash holatini tekshirish. Ma'lumotlar bazasi (PostgreSQL) va kesh (Redis) ulanishini tekshiradi. Autentifikatsiya talab qilinmaydi.","operationId":"healthCheck","responses":{"200":{"description":"Servis to'liq ishlayapti","content":{"application\/json":{"schema":{"properties":{"status":{"description":"Umumiy holat","type":"string","example":"ok","enum":["ok","degraded"]},"service":{"description":"Servis nomi","type":"string","example":"inspector-service"},"checks":{"description":"Komponentlar holati","properties":{"database":{"description":"PostgreSQL ulanishi","type":"string","example":"ok","enum":["ok","error"]},"redis":{"description":"Redis ulanishi","type":"string","example":"ok","enum":["ok","error"]}},"type":"object"},"timestamp":{"description":"Tekshiruv vaqti (ISO 8601)","type":"string","format":"date-time","example":"2026-03-31T12:00:00+05:00"}},"type":"object"}}}},"503":{"description":"Servis degradatsiya holatida \u2014 bir yoki bir nechta komponent ishlamayapti","content":{"application\/json":{"schema":{"properties":{"status":{"type":"string","example":"degraded"},"service":{"type":"string","example":"inspector-service"},"checks":{"properties":{"database":{"type":"string","example":"error"},"redis":{"type":"string","example":"ok"}},"type":"object"},"timestamp":{"type":"string","format":"date-time"}},"type":"object"}}}}}}},"\/api\/v1\/inspector\/inspections":{"get":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvlar ro'yxati","description":"Barcha tekshiruvlarni sahifalangan ro'yxat ko'rinishida qaytaradi. Qidiruv, holat, viloyat va tuman bo'yicha filtrlash mumkin.\n\n### Filtrlash:\n- `search` \u2014 korxona nomi, STIR, rahbar ismi bo'yicha qidirish\n- `status` \u2014 tekshiruv holati bo'yicha filtrlash (new, uploaded, rejected, approved, field_submitted, completed, field_rejected)\n- `state_id` \u2014 viloyat bo'yicha filtrlash\n- `city_id` \u2014 tuman bo'yicha filtrlash\n\n### Saralash:\n- `sort_by` \u2014 saralash maydoni (id, created_at, status). Default: id\n- `sort_order` \u2014 saralash tartibi (asc, desc). Default: desc\n\n### Sahifalash:\n- `per_page` \u2014 har sahifada nechta yozuv (1-100, default: 15). `-1` = hammasi (max 1000)","operationId":"213ca5aab33197717c29dd9bfc26f994","parameters":[{"name":"search","in":"query","description":"Qidiruv so'zi (korxona nomi, STIR, rahbar ismi)","required":false,"schema":{"type":"string","example":"Oltin Hosil"}},{"name":"status","in":"query","description":"Tekshiruv holati bo'yicha filtrlash","required":false,"schema":{"type":"string","example":"draft","enum":["draft","submitted","reviewing","rejected","approved"]}},{"name":"state_id","in":"query","description":"Viloyat ID bo'yicha filtrlash","required":false,"schema":{"type":"integer","example":1}},{"name":"city_id","in":"query","description":"Tuman ID bo'yicha filtrlash","required":false,"schema":{"type":"integer","example":5}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","example":"created_at","default":"id","enum":["id","created_at","status"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","example":"desc","default":"desc","enum":["asc","desc"]}},{"name":"per_page","in":"query","description":"Har sahifadagi yozuvlar soni (1-100). -1 = hammasi (max 1000)","required":false,"schema":{"type":"integer","example":15,"default":15}}],"responses":{"200":{"description":"Tekshiruvlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/InspectionResponse"}},"meta":{"description":"Sahifalash ma'lumotlari","properties":{"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":5},"per_page":{"type":"integer","example":15},"total":{"type":"integer","example":72}},"type":"object"},"links":{"description":"Sahifa havolalari","properties":{"first":{"type":"string","example":"\/api\/inspector\/inspections?page=1"},"last":{"type":"string","example":"\/api\/inspector\/inspections?page=5"},"prev":{"type":"string","example":null,"nullable":true},"next":{"type":"string","example":"\/api\/inspector\/inspections?page=2","nullable":true}},"type":"object"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi \u2014 JWT token yo'q yoki yaroqsiz"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Inspections"],"summary":"Yangi tekshiruv yaratish","description":"**Tuman inspektori** yangi tekshiruv yaratadi. Korxona (enterprise) STIR bo'yicha avtomatik topiladi yoki yaratiladi.\n\n### Jarayon:\n1. Tuman inspektori shu endpoint orqali tekshiruv yaratadi (status: **Yangi**)\n2. Keyin hujjatlarni yuklaydi (`POST \/inspections\/{id}\/documents`)\n3. Tayyor bo'lgach viloyatga yuboradi (`POST \/inspections\/{id}\/submit`)\n\n### Korxona logikasi:\n- Agar berilgan STIR bazada mavjud bo'lsa \u2014 korxona ma'lumotlari yangilanadi\n- Agar STIR yangi bo'lsa \u2014 yangi korxona yaratiladi","operationId":"90bfb416e3ca37f15c366da2e0e31f66","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["stir","farm_name","farm_leader","phone","region_id","district_id"],"properties":{"stir":{"description":"Korxona STIR raqami (9 raqam)","type":"string","example":"302415867"},"farm_name":{"description":"Fermer xo'jaligi yoki korxona nomi","type":"string","example":"Oltin Hosil fermer xo'jaligi"},"farm_leader":{"description":"Rahbar to'liq ismi","type":"string","example":"Karimov Jasur Baxtiyorovich"},"phone":{"description":"Aloqa telefon raqami","type":"string","example":"+998901234567"},"address":{"description":"Korxona manzili","type":"string","example":"Chirchiq tumani, 1-hudud","nullable":true},"region_id":{"description":"Viloyat ID (shared-service dan olinadi)","type":"integer","example":1},"district_id":{"description":"Tuman ID (shared-service dan olinadi)","type":"integer","example":5},"area":{"description":"Hudud nomi","type":"string","example":"1-hudud","nullable":true},"crop_category_id":{"description":"Ekin kategoriyasi ID","type":"integer","example":2,"nullable":true},"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":5,"nullable":true},"agro_event_id":{"description":"Agro tadbir ID","type":"integer","example":3,"nullable":true},"goal_id":{"description":"Maqsad ID","type":"integer","example":1,"nullable":true},"area_hectare":{"description":"Maydon hajmi (gektar)","type":"number","format":"float","example":150.5,"nullable":true},"action_type":{"description":"Chora turi","type":"string","example":"written_instruction","nullable":true,"enum":["written_instruction","submission","administrative","warning"]},"inspection_type":{"description":"Tekshiruv turi","type":"string","nullable":true,"enum":["notification","entrepreneur_application","state_body","physical_person","coordination","other"]},"basis":{"description":"Tekshiruv asosi","type":"string","nullable":true,"enum":["risk_analysis","appeal","legislation_compliance","other_basis","other_situation"]},"inspection_type_file":{"description":"Tekshiruv turiga tegishli fayl (ixtiyoriy, max 10MB)","type":"string","format":"binary","nullable":true},"assigned_specialist_id":{"description":"Biriktirilgan mutaxassis ID (specialists endpointdan olinadi)","type":"integer","example":12,"nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Tekshiruv muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResponse"},"message":{"type":"string","example":"Tekshiruv muvaffaqiyatli yaratildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":"{\"stir\": [\"STIR maydoni majburiy\"], \"farm_name\": [\"Fermer xo'jaligi nomi majburiy\"]}"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/{id}":{"get":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvni batafsil ko'rish","description":"Bitta tekshiruvning to'liq ma'lumotlarini qaytaradi: korxona, ekin turi, hujjatlar ro'yxati va holati, biriktirilgan mutaxassis va boshqalar.\n\nHujjatlar ro'yxatida barcha 4 turdagi hujjat ko'rsatiladi (yuklanmagan hujjatlar ham `uploaded: false` bilan qaytadi).","operationId":"14753ff4fe306a31d19c7d2e52656e65","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}}],"responses":{"200":{"description":"Tekshiruv ma'lumotlari muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Tekshiruv topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvni yangilash","description":"Mavjud tekshiruv ma'lumotlarini yangilaydi. **Faqat \"Yangi\" yoki \"Rad etilgan\" holatdagi** tekshiruvni yangilash mumkin.\n\nBarcha maydonlar ixtiyoriy \u2014 faqat o'zgartirilishi kerak bo'lgan maydonlar yuboriladi. Agar `stir` yuborilsa, korxona ma'lumotlari ham yangilanadi.","operationId":"1b16c06cec7a1ec987343a1768f77258","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"stir":{"description":"Korxona STIR raqami (yuborilsa korxona ham yangilanadi)","type":"string","example":"302415867","nullable":true},"farm_name":{"description":"Fermer xo'jaligi nomi","type":"string","example":"Oltin Hosil fermer xo'jaligi","nullable":true},"farm_leader":{"description":"Rahbar to'liq ismi","type":"string","example":"Karimov Jasur Baxtiyorovich","nullable":true},"phone":{"description":"Aloqa telefon raqami","type":"string","example":"+998901234567","nullable":true},"address":{"description":"Korxona manzili","type":"string","example":"Chirchiq tumani, 1-hudud","nullable":true},"region_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"district_id":{"description":"Tuman ID","type":"integer","example":5,"nullable":true},"area":{"description":"Hudud nomi","type":"string","example":"1-hudud","nullable":true},"crop_category_id":{"description":"Ekin kategoriyasi ID","type":"integer","example":2,"nullable":true},"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":5,"nullable":true},"agro_event_id":{"description":"Agro tadbir ID","type":"integer","example":3,"nullable":true},"goal_id":{"description":"Maqsad ID","type":"integer","example":1,"nullable":true},"area_hectare":{"description":"Maydon (gektar)","type":"number","format":"float","example":200,"nullable":true},"action_type":{"description":"Chora turi","type":"string","example":"submission","nullable":true,"enum":["written_instruction","submission","administrative","warning"]},"assigned_specialist_id":{"description":"Biriktirilgan mutaxassis ID","type":"integer","example":12,"nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Tekshiruv muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResponse"},"message":{"type":"string","example":"Tekshiruv yangilandi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"403":{"description":"Ruxsat yo'q \u2014 tekshiruv \"Yangi\" yoki \"Rad etilgan\" holatda emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat qoralama yoki qaytarilgan tekshiruvni yangilash mumkin"}},"type":"object"}}}},"404":{"description":"Tekshiruv topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvni o'chirish","description":"Tekshiruvni o'chiradi. **Faqat \"Yangi\" holatdagi** tekshiruvni o'chirish mumkin. Yuklangan, tasdiqlangan yoki rad etilgan tekshiruvlarni o'chirish taqiqlangan.","operationId":"11a9260ba49b3abe72ded26cc991b377","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}}],"responses":{"200":{"description":"Tekshiruv muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","example":null,"nullable":true},"message":{"type":"string","example":"Tekshiruv o'chirildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"403":{"description":"Ruxsat yo'q \u2014 tekshiruv \"Yangi\" holatda emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat \"Yangi\" holatdagi tekshiruvni o'chirish mumkin"}},"type":"object"}}}},"404":{"description":"Tekshiruv topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/{id}\/submit":{"post":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvni viloyatga yuborish","description":"**Tuman inspektori** tekshiruvni viloyatga ko'rib chiqish uchun yuboradi. Yuborishdan oldin 3 ta majburiy hujjat yuklanishi shart:\n- `notification` \u2014 Xabardor qilish hujjati\n- `study_program` \u2014 O'rganish dasturi hujjati\n- `info` \u2014 Ma'lumot hujjati\n\n### 2 usulda ishlaydi:\n1. **Avval alohida yuklash** \u2014 `POST \/inspections\/{id}\/documents` orqali 3 ta hujjatni birma-bir yuklash, keyin shu endpoint orqali yuborish (faylsiz)\n2. **Hammasi birga** \u2014 shu endpoint orqali 3 ta faylni bir vaqtda multipart\/form-data bilan yuklash va yuborish\n\n### Holat o'zgarishi:\n- Tekshiruv: **Yangi** yoki **Rad etilgan** -> **Yuklangan**\n- Barcha hujjatlar: status **Yangi** ga qaytariladi, rad etish sabablari tozalanadi\n\n### Rad etilgan tekshiruvni qayta yuborish:\nAgar tekshiruv viloyat tomonidan rad etilgan bo'lsa, tuman inspektori rad etilgan hujjatni yangilab, qayta yuborishi mumkin. Yangi fayllar eski fayllarni almashtiradi.","operationId":"64dbe118456f96ff34c82978eee89e08","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}}],"requestBody":{"description":"3 ta faylni birga yuklash (ixtiyoriy \u2014 oldindan alohida yuklangan bo'lsa kerak emas)","required":false,"content":{"multipart\/form-data":{"schema":{"properties":{"notification":{"description":"Xabardor qilish hujjati (pdf, doc, docx, txt \u2014 max 10MB)","type":"string","format":"binary"},"study_program":{"description":"O'rganish dasturi hujjati (pdf, doc, docx, txt \u2014 max 10MB)","type":"string","format":"binary"},"info":{"description":"Ma'lumot hujjati (pdf, doc, docx, txt \u2014 max 10MB)","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Tekshiruv muvaffaqiyatli viloyatga yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResponse"},"message":{"type":"string","example":"Tekshiruv viloyatga yuborildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"403":{"description":"Ruxsat yo'q \u2014 tekshiruv \"Yangi\" yoki \"Rad etilgan\" holatda emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Faqat qoralama yoki qaytarilgan tekshiruvni yuborish mumkin"}},"type":"object"}}}},"404":{"description":"Tekshiruv topilmadi"},"422":{"description":"Hujjatlar to'liq yuklanmagan","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Quyidagi hujjatlar yuklanmagan: Xabardor qilish hujjati, Ma'lumot hujjati"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/{id}\/documents\/{documentId}\/review":{"patch":{"tags":["Inspector Service","Inspections"],"summary":"Viloyat: Hujjatni ko'rib chiqish (Imzolash yoki Rad etish)","description":"**Viloyat inspektori** tuman inspektori yuklagan hujjatlarni birma-bir ko'rib chiqadi.\n\n### Jarayon:\n1. Tuman 3 ta hujjat yuklaydi: `notification`, `study_program`, `info`\n2. Viloyat har birini **alohida** ko'rib chiqadi (shu endpoint orqali)\n3. `action: \"sign\"` \u2192 hujjat imzolangan \u2705\n4. `action: \"reject\"` \u2192 hujjat rad etilgan \u274c (reason **majburiy**)\n5. Barcha 4 ta hujjat imzolansa \u2192 tekshiruv **\"Tasdiqlangan\"**\n6. Bitta hujjat rad etilsa \u2192 tekshiruv **\"Rad etilgan\"**\n\n### Muhim:\n- `documentId` \u2014 Tekshiruv show API'dan olinadi (`documents[].id`)\n- Rad etishda `reason` maydoni **majburiy** (nega rad etilganini yozish kerak)\n- Imzolashda `reason` kerak **emas**","operationId":"7d49bfe344655b0a7fb8135787ccb011","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}},{"name":"documentId","in":"path","description":"Hujjat ID raqami (tekshiruv show API dan `documents[].id` orqali olinadi)","required":true,"schema":{"type":"integer","example":50}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["action"],"properties":{"action":{"description":"`sign` \u2014 imzolash (tasdiqlash), `reject` \u2014 rad etish","type":"string","example":"sign","enum":["sign","reject"]},"reason":{"description":"Rad etish sababi. **Faqat `action: \"reject\"` bo'lganda majburiy.** Imzolashda kerak emas.","type":"string","example":"Hujjatda imzo va muhr yo'q","nullable":true}},"type":"object"}}}},"responses":{"200":{"description":"Hujjat muvaffaqiyatli ko'rib chiqildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hujjat imzolandi"},"data":{"properties":{"id":{"type":"integer","example":50},"type":{"properties":{"value":{"type":"string","example":"notification"},"label":{"type":"string","example":"Xabardor qilish hujjati"}},"type":"object"},"status":{"properties":{"value":{"type":"string","example":"signed"},"label":{"type":"string","example":"Imzolangan"}},"type":"object"},"file_url":{"type":"string","example":"https:\/\/backend.uzagroin.uz\/api\/v1\/inspector\/files\/..."},"signed_at":{"type":"string","format":"date-time","example":"2026-04-28T10:30:00+00:00"},"reject_reason":{"type":"string","example":null,"nullable":true}},"type":"object"}},"type":"object"}}}},"403":{"description":"Ruxsat yo'q yoki noto'g'ri status"},"404":{"description":"Tekshiruv yoki hujjat topilmadi"},"422":{"description":"Validatsiya xatosi (action noto'g'ri yoki reason yo'q)"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/{id}\/documents":{"post":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruvga hujjat biriktirish","description":"**Tuman inspektori** 3 ta hujjat yuklaydi:\n- `notification` \u2014 Xabardor qilish hujjati\n- `study_program` \u2014 O'rganish dasturi hujjati\n- `info` \u2014 Ma'lumot hujjati\n\n**Viloyat inspektori** 1 ta hujjat yuklaydi:\n- `study_order` \u2014 O'rganish buyrug'i (barcha 3 ta hujjat imzolangandan keyin)\n\n### Qo'llab-quvvatlanadigan fayl turlari:\n`pdf, doc, docx, txt` \u2014 maksimum 10MB\n\n### Muhim:\n- Har bir turdagi hujjat faqat **1 marta** yuklanadi\n- Agar shu turdagi hujjat allaqachon yuklangan bo'lsa \u2014 xatolik qaytadi","operationId":"0cf2f9375930e26e35b7406ef5fd3bc0","parameters":[{"name":"id","in":"path","description":"Tekshiruv ID","required":true,"schema":{"type":"integer","example":24}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["type","file"],"properties":{"type":{"description":"Hujjat turi: `notification` (Xabarnoma), `study_program` (O'quv dasturi), `info` (Ma'lumotnoma), `study_order` (O'quv buyruq \u2014 faqat viloyat)","type":"string","example":"notification","enum":["notification","study_program","info","study_order"]},"file":{"description":"Fayl (pdf, doc, docx, txt). Maksimum 10MB","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Hujjat muvaffaqiyatli biriktirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Hujjat muvaffaqiyatli biriktirildi"},"data":{"properties":{"id":{"type":"integer","example":53},"type":{"properties":{"value":{"type":"string","example":"notification"},"label":{"type":"string","example":"Xabardor qilish hujjati"}},"type":"object"},"status":{"properties":{"value":{"type":"string","example":"draft"},"label":{"type":"string","example":"Yangi"}},"type":"object"},"file_url":{"type":"string","example":"https:\/\/backend.uzagroin.uz\/api\/v1\/inspector\/files\/..."}},"type":"object"}},"type":"object"}}}},"403":{"description":"Ruxsat yo'q (bu turdagi hujjatni yuklash taqiqlangan)"},"409":{"description":"Bu turdagi hujjat allaqachon yuklangan"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/{inspectionId}\/documents\/{documentId}":{"delete":{"tags":["Inspector Service","Inspections"],"summary":"Tekshiruv hujjatini o'chirish","description":"Tekshiruvga biriktirilgan hujjatni o'chiradi va S3 dan faylni ham o'chiradi. **Imzolangan hujjatni o'chirish mumkin emas** \u2014 faqat Yangi, Kutilmoqda yoki Rad etilgan holatdagi hujjatlar o'chirilishi mumkin.","operationId":"645d44ac4cb1c0cd3e87f269f93c523c","parameters":[{"name":"inspectionId","in":"path","description":"Tekshiruv ID raqami","required":true,"schema":{"type":"integer","example":24}},{"name":"documentId","in":"path","description":"Hujjat ID raqami (tekshiruv show API dan `documents[].id` orqali olinadi)","required":true,"schema":{"type":"integer","example":53}}],"responses":{"200":{"description":"Hujjat muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","example":null,"nullable":true},"message":{"type":"string","example":"Hujjat o'chirildi"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"403":{"description":"Imzolangan hujjatni o'chirish mumkin emas","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Imzolangan hujjatni o'chirish mumkin emas"}},"type":"object"}}}},"404":{"description":"Tekshiruv yoki hujjat topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/by-stir\/{stir}":{"get":{"tags":["Inspector Service","Inspections"],"summary":"STIR bo'yicha tasdiqlangan tekshiruvni topish","description":"Korxonaning STIR raqami bo'yicha **eng oxirgi tasdiqlangan** tekshiruvni topadi. Bu endpoint asosan saytda tekshiruv (site inspection) yaratishda \u2014 korxona ma'lumotlarini oldindan to'ldirish uchun ishlatiladi.\n\nFaqat **\"Tasdiqlangan\"** (approved) holatdagi tekshiruvlar orasidan qidiradi. Agar bir nechta tasdiqlangan tekshiruv bo'lsa \u2014 eng oxirgisi qaytariladi.","operationId":"93ac5a83c6f85f22af6cb67eda956ddb","parameters":[{"name":"stir","in":"path","description":"Korxona STIR raqami (9 raqam)","required":true,"schema":{"type":"string","example":"302415867"}}],"responses":{"200":{"description":"Tasdiqlangan tekshiruv topildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/InspectionResponse"}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"},"404":{"description":"Bu STIR bo'yicha tasdiqlangan tekshiruv topilmadi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu STIR bo'yicha tasdiqlangan tekshiruv topilmadi"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspections\/specialists":{"get":{"tags":["Inspector Service","Inspections"],"summary":"Mutaxassislar ro'yxati","description":"Tekshiruvga biriktirish mumkin bo'lgan barcha faol mutaxassislar ro'yxatini qaytaradi. Familiya bo'yicha tartiblangan. Natija tekshiruv yaratish\/yangilashda `assigned_specialist_id` maydonini to'ldirish uchun ishlatiladi.","operationId":"1a3f96c533f79cd6cecd8acb1d4fd923","responses":{"200":{"description":"Mutaxassislar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"properties":{"id":{"description":"Mutaxassis (foydalanuvchi) ID","type":"integer","example":12},"full_name":{"description":"To'liq ismi (familiya + ism + otasining ismi)","type":"string","example":"Karimov Jasur Baxtiyorovich"},"state_id":{"description":"Mutaxassis viloyat ID","type":"integer","example":1,"nullable":true},"city_id":{"description":"Mutaxassis tuman ID","type":"integer","example":5,"nullable":true}},"type":"object"}}},"type":"object"}}}},"401":{"description":"Autentifikatsiya talab qilinadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/permissions":{"get":{"tags":["Inspector Service","Inspector Permission Management"],"summary":"Ruxsatlar ro'yxati","description":"Inspector xizmatidagi barcha ruxsatlarni guruhlar bilan olish","operationId":"2beed1f66a3b8f39c794c34862980c41","responses":{"200":{"description":"Ruxsatlar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/roles":{"get":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Rollar ro'yxati","description":"Inspector xizmatidagi barcha rollarni olish","operationId":"85b703339513c5983d784ad7c3eb0683","parameters":[{"name":"with_users","in":"query","description":"Foydalanuvchilar sonini qo'shish","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Rollar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Yangi rol qo'shish","description":"Inspector xizmatiga yangi rol yaratish","operationId":"9397a9adc1f1d05f7cff3ea126f5aadf","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"description":"Rol nomi (faqat kichik harflar, raqamlar va tire)","type":"string","pattern":"^[a-z0-9-]+$"},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Rol muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/roles\/{role}":{"get":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Rol ma'lumotlari","operationId":"5a85f4b4a70e49fddf6d6b48a2e4e097","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Rolni yangilash","description":"Rol ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"45a11c465f72b83cc5404f4c42e4d484","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Rol nomi (faqat kichik harflar, raqamlar va tire)","type":"string","pattern":"^[a-z0-9-]+$"},"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Rol yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Rolni o'chirish","operationId":"f6322cbfe541ce6f7d145bbf0133b765","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rol o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Rol muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Bu rolga biriktirilgan foydalanuvchilar mavjud","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Bu rolga biriktirilgan foydalanuvchilar mavjud"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/roles\/{role}\/permissions":{"post":{"tags":["Inspector Service","Inspector Role Management"],"summary":"Rol ruxsatlarini yangilash","description":"Rolga ruxsatlarni sinxronlash","operationId":"e919d5eb42f6498ee66cba2f10efcca3","parameters":[{"name":"role","in":"path","description":"Rol ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["permissions"],"properties":{"permissions":{"description":"Ruxsat ID lari","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Ruxsatlar yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Ruxsatlar muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Rol topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/users":{"get":{"tags":["Inspector Service","Inspector User Management"],"summary":"Foydalanuvchilar ro'yxati","description":"Inspector xizmatidagi barcha foydalanuvchilarni filterlash va sahifalash bilan olish","operationId":"1e34b9f09dced2602efd5cb5cc43508a","parameters":[{"name":"search","in":"query","description":"Ism, familiya yoki email bo'yicha qidirish","required":false,"schema":{"type":"string","maxLength":255}},{"name":"is_active","in":"query","description":"Faollik holati","required":false,"schema":{"type":"boolean"}},{"name":"role_id","in":"query","description":"Rol ID bo'yicha filterlash","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni (-1 = hammasi)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}}],"responses":{"200":{"description":"Foydalanuvchilar ro'yxati","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object"}},"meta":{"properties":{"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Inspector User Management"],"summary":"Yangi foydalanuvchi qo'shish","description":"Inspector xizmatiga yangi foydalanuvchi yaratish","operationId":"ec494fc105e209556781c5ff34861450","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","lastname","email","password","password_confirmation","roles"],"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzili (unikal)","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 ta belgi)","type":"string","format":"password","minLength":8},"password_confirmation":{"description":"Parol tasdig'i","type":"string","format":"password"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"}},"type":"object"}}}},"responses":{"201":{"description":"Foydalanuvchi muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yaratildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/users\/{user}":{"get":{"tags":["Inspector Service","Inspector User Management"],"summary":"Foydalanuvchi ma'lumotlari","operationId":"779df38113ffb81b0809e6a1431291e1","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Inspector Service","Inspector User Management"],"summary":"Foydalanuvchini yangilash","description":"Foydalanuvchi ma'lumotlarini yangilash. Faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboring.","operationId":"677cda8039bcdcc65f4af54633374378","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"description":"Foydalanuvchi ismi","type":"string","maxLength":255},"lastname":{"description":"Foydalanuvchi familiyasi","type":"string","maxLength":255},"email":{"description":"Email manzili (unikal)","type":"string","format":"email"},"password":{"description":"Parol (kamida 8 ta belgi)","type":"string","format":"password","minLength":8},"password_confirmation":{"description":"Parol tasdig'i","type":"string","format":"password"},"roles":{"description":"Rol ID lari","type":"array","items":{"type":"integer"}},"is_active":{"description":"Faollik holati","type":"boolean"},"phone":{"description":"Telefon raqami","type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Foydalanuvchi yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli yangilandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Inspector User Management"],"summary":"Foydalanuvchini o'chirish","operationId":"ba81569ba276de35057bc46f9f141409","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"403":{"description":"O'zingizni o'chira olmaysiz"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/users\/{id}\/restore":{"post":{"tags":["Inspector Service","Inspector User Management"],"summary":"O'chirilgan foydalanuvchini tiklash","operationId":"692539f9d8ea7d3cf4221ae64020f77e","parameters":[{"name":"id","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Foydalanuvchi tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi muvaffaqiyatli tiklandi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/inspector-manage\/users\/{user}\/toggle-status":{"post":{"tags":["Inspector Service","Inspector User Management"],"summary":"Foydalanuvchi holatini o'zgartirish","description":"Foydalanuvchining is_active holatini teskari qiymatga o'zgartirish","operationId":"fb61b2262dc49c8015c04c2f6f145cb4","parameters":[{"name":"user","in":"path","description":"Foydalanuvchi ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Holat o'zgartirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Foydalanuvchi faollashtirildi"},"data":{"type":"object"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan"},"404":{"description":"Foydalanuvchi topilmadi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings":{"get":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringlar ro'yxati","description":"Barcha monitoringlarni filterlash va sahifalash bilan olish. Ekin turi, agrotexnik tadbir, maqsad, rasmlar bilan birga qaytariladi.","operationId":"monitoringIndex","parameters":[{"name":"search","in":"query","description":"Fermer nomi, raxbar, STIR yoki kontur raqami bo'yicha qidirish (ILIKE)","required":false,"schema":{"type":"string","example":"Oltin Hosil","maxLength":255}},{"name":"crop_type_id","in":"query","description":"Ekin turi ID bo'yicha filterlash","required":false,"schema":{"type":"integer","example":1}},{"name":"agro_event_id","in":"query","description":"Agrotexnik tadbir ID bo'yicha filterlash","required":false,"schema":{"type":"integer","example":1}},{"name":"goal_id","in":"query","description":"Maqsad ID bo'yicha filterlash","required":false,"schema":{"type":"integer","example":1}},{"name":"stir","in":"query","description":"STIR raqami bo'yicha aniq filterlash (9 raqam)","required":false,"schema":{"type":"string","example":"123456789"}},{"name":"region_id","in":"query","description":"Viloyat ID bo'yicha filterlash (tbl_states)","required":false,"schema":{"type":"integer","example":1}},{"name":"district_id","in":"query","description":"Tuman ID bo'yicha filterlash (tbl_cities)","required":false,"schema":{"type":"integer","example":5}},{"name":"status","in":"query","description":"Holat bo'yicha filterlash","required":false,"schema":{"$ref":"#\/components\/schemas\/MonitoringStatus"}},{"name":"action_type","in":"query","description":"Ta'sir chorasi turi bo'yicha filterlash","required":false,"schema":{"$ref":"#\/components\/schemas\/ActionType"}},{"name":"per_page","in":"query","description":"Sahifadagi yozuvlar soni. `-1` = hammasi (max 1000)","required":false,"schema":{"type":"integer","default":15,"maximum":100,"minimum":-1}},{"name":"page","in":"query","description":"Sahifa raqami","required":false,"schema":{"type":"integer","default":1,"minimum":1}},{"name":"sort_by","in":"query","description":"Saralash maydoni","required":false,"schema":{"type":"string","default":"id","enum":["id","crop_type_id","agro_event_id","goal_id","enterprise_id","status","action_type","area_hectare","created_at","updated_at"]}},{"name":"sort_order","in":"query","description":"Saralash tartibi","required":false,"schema":{"type":"string","default":"desc","enum":["asc","desc"]}}],"responses":{"200":{"description":"Monitoringlar ro'yxati muvaffaqiyatli qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/MonitoringList"}},"meta":{"$ref":"#\/components\/schemas\/PaginationMeta"},"links":{"$ref":"#\/components\/schemas\/PaginationLinks"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Monitorings"],"summary":"Yangi monitoring yaratish","description":"Yangi monitoring yaratish. `multipart\/form-data` orqali ma'lumotlar va rasmlar yuboriladi.\n\n**Rasmlar:** Max 10 ta, har biri max 5MB (jpg, jpeg, png, webp).\n**Status:** Default `new`. Kontur raqami avtomatik generatsiya qilinadi (#000000001).\n**STIR:** 9 ta raqamdan iborat bo'lishi shart.\n**area_hectare:** Minimal qiymat 0.01 gektar.","operationId":"monitoringStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["crop_type_id","agro_event_id","goal_id","stir","farm_name","farm_leader","phone","region_id","district_id","area","area_hectare","action_type"],"properties":{"crop_category_id":{"description":"Ekin toifasi ID","type":"integer","example":1},"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":1},"agro_event_id":{"description":"Agrotexnik tadbir ID","type":"integer","example":1},"goal_id":{"description":"Maqsad ID","type":"integer","example":1},"stir":{"description":"Korxona STIR (9 raqam). Mavjud bo'lsa enterprises jadvalidan olinadi, bo'lmasa yangi yaratiladi.","type":"string","pattern":"^\\d{9}$","example":"123456789","maxLength":9,"minLength":9},"farm_name":{"description":"Fermer xo'jaligi nomi (enterprises.legal_name)","type":"string","example":"Oltin Hosil","maxLength":255},"farm_leader":{"description":"Raxbar (enterprises.director_full_name)","type":"string","example":"Karimov Jasur","maxLength":255},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567","maxLength":20},"address":{"description":"Yer manzili","type":"string","example":"Chirchiq sh., Navoiy ko'chasi 15","nullable":true,"maxLength":500},"region_id":{"description":"Viloyat ID (tbl_states)","type":"integer","example":1},"district_id":{"description":"Tuman ID (tbl_cities)","type":"integer","example":5},"area":{"description":"Hudud nomi","type":"string","example":"1-hudud","maxLength":255},"contour_number":{"description":"Kontur raqami (avtomatik #000000001 formatida)","type":"string","example":null,"nullable":true,"maxLength":255},"area_hectare":{"description":"Maydoni gektarda","type":"number","format":"double","example":25.5,"minimum":0.01},"action_type":{"$ref":"#\/components\/schemas\/ActionType"},"images[]":{"description":"Rasmlar (max 10 ta, har biri max 5MB)","type":"array","items":{"type":"string","format":"binary"},"maxItems":10}},"type":"object"}}}},"responses":{"201":{"description":"Monitoring muvaffaqiyatli yaratildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring muvaffaqiyatli yaratildi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}},"500":{"description":"S3 rasmlarni yuklashda xatolik (monitoring yaratilgan, ba'zi rasmlar yuklanmagan)","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ServerErrorResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings\/{monitoring}":{"get":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoring ma'lumotlari","description":"Bitta monitoring haqida to'liq ma'lumot olish (ekin turi, agrotexnik tadbir, maqsad va rasmlar bilan)","operationId":"monitoringShow","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring ma'lumotlari","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringni yangilash (faqat new)","description":"Faqat `new` holatdagi monitoringlarni yangilash mumkin. `submitted` holatdagi monitoring yangilansa 403 qaytariladi.\n\n**Yangi rasmlar:** `images[]` orqali yuboriladi (max 10 ta, har biri max 5MB).\n**Rasmlarni o'chirish:** `delete_images[]` orqali o'chiriladigan rasm ID larini yuboring.","operationId":"monitoringUpdate","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"crop_category_id":{"description":"Ekin toifasi ID","type":"integer","example":1},"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":1},"agro_event_id":{"description":"Agrotexnik tadbir ID","type":"integer","example":1},"goal_id":{"description":"Maqsad ID","type":"integer","example":1},"stir":{"description":"STIR raqami (9 ta raqam)","type":"string","pattern":"^\\d{9}$","example":"123456789","maxLength":9,"minLength":9},"region_id":{"description":"Viloyat ID (tbl_states jadvalidan)","type":"integer","example":1},"district_id":{"description":"Tuman ID (tbl_cities jadvalidan)","type":"integer","example":5},"area":{"description":"Hudud nomi","type":"string","example":"1-hudud","maxLength":255},"farm_name":{"description":"Fermer xo'jaligi nomi","type":"string","example":"Oltin Hosil","maxLength":255},"farm_leader":{"description":"Fermer xo'jaligi raxbari","type":"string","example":"Karimov Jasur","maxLength":255},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567","maxLength":20},"contour_number":{"description":"Kontur raqami","type":"string","example":"K-001","maxLength":255},"area_hectare":{"description":"Maydoni gektarda","type":"number","format":"double","example":25.5,"minimum":0.01},"action_type":{"$ref":"#\/components\/schemas\/ActionType"},"images[]":{"description":"Yangi rasmlar qo'shish","type":"array","items":{"type":"string","format":"binary"},"maxItems":10},"delete_images[]":{"description":"O'chiriladigan rasm ID lari (faqat shu monitoringga tegishli)","type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Monitoring muvaffaqiyatli yangilandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring muvaffaqiyatli yangilandi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"403":{"description":"Faqat qoralama holatdagi monitoringlarni yangilash mumkin","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForbiddenResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}},"422":{"description":"Validatsiya xatosi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ValidationErrorResponse"}}}},"500":{"description":"S3 rasmlarni yuklashda xatolik","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ServerErrorResponse"}}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringni o'chirish (faqat new, soft delete)","description":"Faqat `new` holatdagi monitoringlarni o'chirish mumkin. Rasmlar S3 dan o'chiriladi, monitoring soft delete qilinadi.","operationId":"monitoringDestroy","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring muvaffaqiyatli o'chirildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring muvaffaqiyatli o'chirildi"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"403":{"description":"Faqat qoralama holatdagi monitoringlarni o'chirish mumkin","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForbiddenResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings\/{id}\/restore":{"post":{"tags":["Inspector Service","Monitorings"],"summary":"O'chirilgan monitoringni tiklash","description":"Soft delete bilan o'chirilgan monitoringni qayta tiklash. Rasmlar S3 da saqlangan bo'lsa qaytariladi.","operationId":"monitoringRestore","parameters":[{"name":"id","in":"path","description":"O'chirilgan monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring muvaffaqiyatli tiklandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring muvaffaqiyatli tiklandi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings\/{monitoring}\/submit":{"patch":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringni tekshirishga yuborish","description":"`new` holatdagi monitoringni viloyat inspektoriga `submitted` holatga o'tkazish. Faqat `new` holatdagi monitoringlar yuborilishi mumkin.","operationId":"monitoringSubmit","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring tekshirishga muvaffaqiyatli yuborildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring tekshirishga yuborildi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"403":{"description":"Faqat qoralama holatdagi monitoringlarni yuborish mumkin","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForbiddenResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings\/{monitoring}\/approve":{"patch":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringni tasdiqlash (viloyat inspektori)","description":"Viloyat inspektori `submitted` holatdagi monitoringni tasdiqlaydi \u2014 `approved` holatga o'tkazadi.","operationId":"monitoringApprove","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring muvaffaqiyatli tasdiqlandi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring tasdiqlandi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"403":{"description":"Faqat yangi holatdagi monitoringlarni tasdiqlash mumkin","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForbiddenResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/monitorings\/{monitoring}\/reject":{"patch":{"tags":["Inspector Service","Monitorings"],"summary":"Monitoringni qaytarish (viloyat inspektori)","description":"Viloyat inspektori `submitted` holatdagi monitoringni qaytaradi \u2014 `rejected` holatga o'tkazadi.","operationId":"monitoringReject","parameters":[{"name":"monitoring","in":"path","description":"Monitoring ID raqami","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"Monitoring qaytarildi","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Monitoring qaytarildi"},"data":{"$ref":"#\/components\/schemas\/Monitoring"}},"type":"object"}}}},"401":{"description":"Avtorizatsiyadan o'tilmagan","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnauthorizedResponse"}}}},"403":{"description":"Faqat yangi holatdagi monitoringlarni rad etish mumkin","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForbiddenResponse"}}}},"404":{"description":"Monitoring topilmadi","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/site-inspections":{"get":{"tags":["Inspector Service","Site Inspections"],"summary":"Dala tekshiruvlari ro'yxati","description":"Faqat `status=approved` tekshiruvlar. `field_status` parametri orqali dala bosqichini filtrlash mumkin.","operationId":"siteInspectionIndex","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"field_status","in":"query","description":"draft, submitted, completed, rejected (bo'sh = hammasi)","required":false,"schema":{"type":"string"}},{"name":"crop_type_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"agro_event_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"goal_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"stir","in":"query","required":false,"schema":{"type":"string"}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"district_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":15}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"id"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","default":"desc"}}],"responses":{"200":{"description":"Ro'yxat","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/SiteInspectionList"}},"meta":{"$ref":"#\/components\/schemas\/PaginationMeta"}},"type":"object"}}}}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Site Inspections"],"summary":"Yangi dala tekshiruvi yaratish (saqlash yoki yuborish)","description":"`submit=false` (default) \u2014 Saqlash. `field_status=draft`. Barcha maydonlar ixtiyoriy.\n`submit=true` \u2014 Yuborish. `field_status=submitted`. Barcha maydonlar majburiy.","operationId":"siteInspectionStore","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"submit":{"description":"true=yuborish, false=saqlash","type":"boolean","example":false},"stir":{"type":"string","example":"123456789"},"farm_name":{"type":"string","example":"Oltin Hosil FX"},"farm_leader":{"type":"string","example":"Karimov Jasur"},"phone":{"type":"string","example":"+998901234567"},"address":{"type":"string","nullable":true},"region_id":{"type":"integer","example":1},"district_id":{"type":"integer","example":5},"area":{"type":"string","example":"1-hudud"},"crop_category_id":{"type":"integer","nullable":true},"crop_type_id":{"type":"integer","example":1},"agro_event_id":{"type":"integer","example":1},"goal_id":{"type":"integer","example":1},"area_hectare":{"type":"number","format":"double","example":25.5},"action_type":{"$ref":"#\/components\/schemas\/ActionType"},"file":{"type":"string","format":"binary","nullable":true},"link":{"type":"string","nullable":true}},"type":"object"}}}},"responses":{"201":{"description":"Yaratildi"},"422":{"description":"Validatsiya xatosi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/site-inspections\/{inspection}":{"get":{"tags":["Inspector Service","Site Inspections"],"summary":"Dala tekshiruvi to'liq ma'lumotlari","operationId":"siteInspectionShow","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Ma'lumotlar","content":{"application\/json":{"schema":{"properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#\/components\/schemas\/SiteInspection"}},"type":"object"}}}},"404":{"description":"Topilmadi"}},"security":[{"bearerAuth":[]}]},"post":{"tags":["Inspector Service","Site Inspections"],"summary":"Dala tekshiruvini yangilash","description":"Faqat `field_status` pending, draft yoki rejected holatda. Barcha maydonlar ixtiyoriy.","operationId":"siteInspectionUpdate","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"properties":{"stir":{"type":"string"},"farm_name":{"type":"string"},"farm_leader":{"type":"string"},"phone":{"type":"string"},"address":{"type":"string","nullable":true},"region_id":{"type":"integer"},"district_id":{"type":"integer"},"area":{"type":"string"},"crop_category_id":{"type":"integer","nullable":true},"crop_type_id":{"type":"integer"},"agro_event_id":{"type":"integer"},"goal_id":{"type":"integer"},"area_hectare":{"type":"number","format":"double"},"action_type":{"$ref":"#\/components\/schemas\/ActionType"},"file":{"type":"string","format":"binary","nullable":true},"link":{"type":"string","nullable":true},"delete_file":{"type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"Yangilandi"},"403":{"description":"Noto'g'ri holat"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/site-inspections\/{inspection}\/submit":{"patch":{"tags":["Inspector Service","Site Inspections"],"summary":"Viloyatga yuborish (draft\/rejected \u2192 submitted)","operationId":"siteInspectionSubmit","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Yuborildi"},"403":{"description":"Noto'g'ri holat"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/site-inspections\/{inspection}\/approve":{"patch":{"tags":["Inspector Service","Site Inspections"],"summary":"Tasdiqlash (submitted \u2192 completed)","operationId":"siteInspectionApprove","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Tasdiqlandi"},"403":{"description":"Noto'g'ri holat"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/inspector\/site-inspections\/{inspection}\/reject":{"patch":{"tags":["Inspector Service","Site Inspections"],"summary":"Rad etish (submitted \u2192 rejected)","operationId":"siteInspectionReject","parameters":[{"name":"inspection","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["reason"],"properties":{"reason":{"type":"string","example":"Tekshiruv natijasi to'liq emas"}},"type":"object"}}}},"responses":{"200":{"description":"Qaytarildi"},"403":{"description":"Noto'g'ri holat"},"422":{"description":"Sabab kiritilmagan"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/propaganda\/health":{"servers":{"0":{"url":"https:\/\/backend.uzagroin.uz\/api\/v1","description":"Current Environment"},"tags":["Propaganda Service"]}},"\/api\/v1\/mobile\/health":{"servers":{"0":{"url":"https:\/\/backend.uzagroin.uz\/api\/v1","description":"Current Environment"},"tags":["Entrepreneur Service"]}},"\/api\/v1\/documents\/health":{"servers":{"0":{"url":"https:\/\/backend.uzagroin.uz\/api\/v1","description":"Current Environment"},"tags":["Documents Service"]}}},"components":{"schemas":{"ChangePasswordRequest":{"required":["current_password","password","password_confirmation"],"properties":{"current_password":{"type":"string","format":"password","example":"OldPassword123"},"password":{"type":"string","format":"password","minLength":8,"example":"NewPassword123"},"password_confirmation":{"type":"string","format":"password","example":"NewPassword123"}},"type":"object"},"ForgotPasswordRequest":{"required":["email"],"properties":{"email":{"type":"string","format":"email","example":"user@example.com"}},"type":"object"},"ResetPasswordRequest":{"required":["email","token","password","password_confirmation"],"properties":{"email":{"type":"string","format":"email","example":"user@example.com"},"token":{"type":"string","example":"reset-token-here"},"password":{"type":"string","format":"password","minLength":8,"example":"NewPassword123"},"password_confirmation":{"type":"string","format":"password","example":"NewPassword123"}},"type":"object"},"Country":{"title":"Country","description":"Mamlakat modeli","properties":{"id":{"description":"Shared Service Base Controller\n\nGeografik ma'lumotlar servisi - Mamlakatlar, Viloyatlar, Tumanlar","type":"integer","example":1},"name":{"type":"string","example":"O'zbekiston"},"name_uz":{"type":"string","example":"O'zbekiston"},"name_ru":{"type":"string","example":"\u0423\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u0430\u043d"},"short_name":{"type":"string","example":"UZ"},"code":{"type":"string","example":"+998"},"currency_code":{"type":"string","example":"UZS"},"is_active":{"type":"boolean","example":true}},"type":"object"},"Region":{"title":"Region","description":"Viloyat modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"},"name_uz":{"type":"string","example":"Toshkent shahri"},"name_ru":{"type":"string","example":"\u0413\u043e\u0440\u043e\u0434 \u0422\u0430\u0448\u043a\u0435\u043d\u0442"},"code":{"type":"string","example":"26"},"soato":{"type":"integer","example":1726},"country_id":{"type":"integer","example":1},"is_active":{"type":"boolean","example":true}},"type":"object"},"District":{"title":"District","description":"Tuman modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"code":{"type":"string","example":"2601"},"soato":{"type":"integer","example":1726101},"state_id":{"type":"integer","example":1},"is_active":{"type":"boolean","example":true}},"type":"object"},"DistrictResource":{"properties":{"id":{"description":"DistrictResource - Tuman resursi\nMUHIM: Column nomlari eski MySQL bilan bir xil!\n- state_id (region_id EMAS!)","type":"integer","example":1},"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"name_en":{"type":"string","example":"Chilanzar district"},"code":{"type":"string","nullable":true},"soato":{"type":"integer","example":172604},"is_active":{"type":"boolean","example":true},"state_id":{"type":"integer","example":1},"region":{"type":"object","nullable":true}},"type":"object"},"RegionResource":{"properties":{"id":{"description":"RegionResource - Viloyat resursi\nMUHIM: Table va column nomlari eski MySQL bilan bir xil!\n- Table: tbl_states (regions EMAS!)","type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati"},"name_uz":{"type":"string","example":"Toshkent viloyati"},"name_ru":{"type":"string","example":"\u0422\u0430\u0448\u043a\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"},"name_en":{"type":"string","example":"Tashkent region"},"code":{"type":"string","nullable":true},"series":{"description":"Traktor-mashinist guvohnomasi seriya prefiksi","type":"string","example":"UZ-AB","nullable":true},"soato":{"type":"integer","example":1727},"is_active":{"type":"boolean","example":true},"country_id":{"type":"integer","example":1},"country":{"type":"object","nullable":true}},"type":"object"},"AgroinLetterResponse":{"title":"Agroin xat ma'lumotlari","description":"Agro.uz tizimidan kelgan xat (so'rov) haqida to'liq ma'lumot","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Xat ID","type":"integer","example":1},"appeal_id":{"description":"Agro.uz tizimidagi murojaat ID","type":"integer","example":100},"customer_tin":{"description":"Mijoz INN\/PINFL","type":"string","example":"123456789"},"user_tin":{"description":"Foydalanuvchi INN","type":"string","example":"123456789"},"tex_drb":{"description":"Davlat ro'yxat belgisi (DRB)","type":"string","example":"01 A 123 AA"},"vehicle_type":{"description":"Transport vosita turi: 0-tirkama emas, 1-tirkama","type":"string","example":"0","enum":["0","1"]},"status":{"description":"So'rov holati","type":"string","example":"success","enum":["pending","success","error"]},"certificate_info":{"description":"Guvohnoma ma'lumotlari","type":"string"},"amount":{"description":"Summasi","type":"number","example":50000},"created_at":{"description":"Yaratilgan vaqt","type":"string","format":"date-time"}},"type":"object"}]},"AgroinStatisticsResponse":{"title":"Agroin statistikasi","description":"Agro.uz xatlari bo'yicha umumiy statistik ma'lumotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total":{"description":"Jami xatlar soni","type":"integer"},"success":{"description":"Muvaffaqiyatli xatlar","type":"integer"},"error":{"description":"Xatolik bilan tugagan xatlar","type":"integer"},"pending":{"description":"Kutilayotgan xatlar","type":"integer"}},"type":"object"}]},"AgroinCustomerHistoryResponse":{"title":"Mijoz xatlari tarixi","description":"Bitta mijoz bo'yicha barcha xatlar va umumiy ko'rsatkichlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"letters":{"description":"Xatlar ro'yxati","type":"array","items":{"$ref":"#\/components\/schemas\/AgroinLetterResponse"}},"summary":{"description":"Umumiy ko'rsatkichlar","properties":{"total":{"description":"Jami xatlar","type":"integer"},"success":{"description":"Muvaffaqiyatli","type":"integer"},"error":{"description":"Xatolik","type":"integer"},"total_amount":{"description":"Umumiy summa","type":"number"}},"type":"object"}},"type":"object"}]},"CalendarResource":{"description":"Kalendar sanasi ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Kalendar yozuvi ID raqami","type":"integer","example":1},"day_date":{"description":"Sana (YYYY-MM-DD formatda)","type":"string","format":"date","example":"2025-01-15"},"day_status":{"description":"Kun holati (1=ish kuni, 2=dam olish kuni)","type":"integer","example":1,"enum":[1,2]},"status_name":{"description":"Kun holati nomi (o'zbekcha)","type":"string","example":"Ish kuni"}},"type":"object"}]},"ColorResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Qora"},"code":{"type":"string","example":"BLACK","nullable":true},"hex_code":{"type":"string","example":"#000000","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"CustomerActivityResource":{"description":"Mijoz faoliyat turi ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Faoliyat turi ID raqami","type":"integer","example":1},"name":{"description":"Faoliyat turi nomi","type":"string","example":"Qishloq xo'jaligi"},"code":{"description":"IFUT raqami (Iqtisodiy Faoliyat Turlari Umumdavlat Tasniflagichi)","type":"string","example":"01110","nullable":true}},"type":"object"}]},"ExamTypeResource":{"description":"Imtihon turi ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Imtihon turi ID raqami","type":"integer","example":1},"name":{"description":"Imtihon turi nomi","type":"string","example":"Nazariy imtihon"},"code":{"description":"Imtihon turi kodi","type":"string","example":"T01","nullable":true},"description":{"description":"Imtihon turi tavsifi","type":"string","example":"Yo'l harakati qoidalari bo'yicha nazariy imtihon","nullable":true},"type":{"description":"Imtihon turi (theory, practice, combined)","type":"string","example":"theory","enum":["theory","practice","combined"]},"type_label":{"description":"Imtihon turi nomi (o'zbekcha)","type":"string","example":"Nazariy"},"duration_minutes":{"description":"Imtihon davomiyligi (daqiqalarda)","type":"integer","example":30,"nullable":true},"passing_score":{"description":"O'tish bali (minimal)","type":"integer","example":70,"nullable":true},"max_score":{"description":"Maksimal ball","type":"integer","example":100,"nullable":true},"fee_amount":{"description":"Imtihon to'lovi miqdori (so'mda)","type":"number","format":"decimal","example":50000},"is_active":{"description":"Faollik holati","type":"boolean","example":true},"sort_order":{"description":"Tartiblash raqami","type":"integer","example":1},"driver_exams_count":{"description":"Bu turga tegishli imtihonlar soni","type":"integer","example":25},"created_at":{"description":"Yaratilgan vaqti","type":"string","format":"date-time","example":"2025-01-15 10:30:00"},"updated_at":{"description":"Yangilangan vaqti","type":"string","format":"date-time","example":"2025-01-15 10:30:00"}},"type":"object"}]},"ExportType":{"title":"Eksport turi","description":"Mavjud eksport turlarining ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"key":{"description":"Eksport turining kalit nomi","type":"string","example":"vehicles"},"name":{"description":"Eksport turining ko'rsatiladigan nomi","type":"string","example":"Texnikalar"},"description":{"description":"Eksport turi haqida qisqacha tavsif","type":"string","example":"Barcha texnikalar ro'yxati"}},"type":"object"}]},"ExternalServiceStatistics":{"title":"Tashqi xizmatlar statistikasi","description":"Barcha tashqi tizimlar bo'yicha umumiy statistik ma'lumotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"dsi":{"properties":{"total":{"description":"Jami so'rovlar soni","type":"integer"},"success":{"description":"Muvaffaqiyatli so'rovlar","type":"integer"},"failed":{"description":"Xatolik bilan tugagan so'rovlar","type":"integer"},"today":{"description":"Bugungi so'rovlar soni","type":"integer"}},"type":"object"},"mib":{"properties":{"total":{"type":"integer"},"success":{"type":"integer"},"failed":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"customs":{"properties":{"total":{"type":"integer"},"success":{"type":"integer"},"failed":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"notary":{"properties":{"total":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"auction":{"properties":{"total":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"uzauto":{"properties":{"total":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"minstroy":{"properties":{"total":{"type":"integer"},"today":{"type":"integer"}},"type":"object"},"agriculture":{"properties":{"total":{"type":"integer"},"today":{"type":"integer"}},"type":"object"}},"type":"object"}]},"DsiStatisticsResponse":{"title":"DSI statistikasi","description":"DSI so'rovlari bo'yicha batafsil statistik ma'lumotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total":{"description":"Jami so'rovlar soni","type":"integer"},"by_status":{"properties":{"pending":{"description":"Kutilayotgan","type":"integer"},"success":{"description":"Muvaffaqiyatli","type":"integer"},"failed":{"description":"Xatolik","type":"integer"}},"type":"object"},"by_action":{"properties":{"check":{"description":"Tekshiruv so'rovlari","type":"integer"},"submit":{"description":"Yuborish so'rovlari","type":"integer"},"cancel":{"description":"Bekor qilish so'rovlari","type":"integer"}},"type":"object"}},"type":"object"}]},"MibStatisticsResponse":{"title":"MIB statistikasi","description":"MIB so'rovlari bo'yicha batafsil statistik ma'lumotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total":{"description":"Jami so'rovlar soni","type":"integer"},"by_result":{"properties":{"success":{"description":"Muvaffaqiyatli","type":"integer"},"failed":{"description":"Xatolik","type":"integer"}},"type":"object"},"by_type":{"properties":{"vehicle_check":{"description":"Transport vosita tekshiruvlari","type":"integer"},"customer_check":{"description":"Mijoz tekshiruvlari","type":"integer"},"prohibition_check":{"description":"Taqiq tekshiruvlari","type":"integer"}},"type":"object"}},"type":"object"}]},"FactoryResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent traktorzavodi"},"code":{"type":"string","example":"TTZ","nullable":true},"country":{"type":"string","example":"O'zbekiston","nullable":true},"address":{"type":"string","example":"Toshkent shahri, Chilonzor tumani","nullable":true},"is_active":{"type":"boolean","example":true},"vehicles_count":{"description":"Faqat show da qaytadi","type":"integer","example":25,"nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"FuelTypeResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Dizel"},"code":{"type":"string","example":"DZL","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"DsiCheckResponse":{"title":"DSI tekshiruv natijasi","description":"DSI (Davlat soliq inspeksiyasi) tizimidan olingan taqiq tekshiruvi natijasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"request_id":{"description":"So'rov identifikatori","type":"integer","example":1},"has_prohibition":{"description":"Taqiq mavjudligi","type":"boolean","example":false},"prohibitions":{"description":"Taqiqlar ro'yxati","type":"array","items":{"properties":{"type":{"description":"Taqiq turi","type":"string"},"description":{"description":"Taqiq tavsifi","type":"string"},"date":{"description":"Taqiq sanasi","type":"string","format":"date"}},"type":"object"}}},"type":"object"}]},"MibCheckResponse":{"title":"MIB tekshiruv natijasi","description":"Majburiy ijro byurosi tizimidan olingan qarzdorlik tekshiruvi natijasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"request_id":{"description":"So'rov identifikatori","type":"integer","example":1},"has_debt":{"description":"Qarzdorlik mavjudligi","type":"boolean","example":false},"debts":{"description":"Qarzdorliklar ro'yxati","type":"array","items":{"properties":{"amount":{"description":"Qarz miqdori","type":"number"},"description":{"description":"Qarz tavsifi","type":"string"},"date":{"description":"Qarz sanasi","type":"string","format":"date"}},"type":"object"}}},"type":"object"}]},"CustomsCheckResponse":{"title":"Bojxona tekshiruv natijasi","description":"Bojxona tizimidan olingan import rasmiylashtiruvi tekshiruvi natijasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"request_id":{"description":"So'rov identifikatori","type":"integer","example":1},"cleared":{"description":"Bojxona rasmiylashtiruvi yakunlanganligi","type":"boolean","example":true}},"type":"object"}]},"TaxCheckResponse":{"title":"Soliq tekshiruv natijasi","description":"Soliq tizimidan olingan taqiqlar tekshiruvi natijasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"has_prohibition":{"description":"Taqiq mavjudligi","type":"boolean","example":false},"prohibitions":{"description":"Taqiqlar ro'yxati","type":"array","items":{"properties":{"id":{"description":"Taqiq ID","type":"integer"},"vehicle_id":{"description":"Transport vosita ID","type":"integer"},"is_active":{"description":"Taqiq faolligi","type":"boolean"}},"type":"object"}}},"type":"object"}]},"FullCheckResponse":{"title":"Kompleks tekshiruv natijasi","description":"Barcha davlat tizimlari bo'yicha transport vosita va egasining kompleks tekshiruvi natijasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"checked_at":{"description":"Tekshiruv vaqti","type":"string","format":"date-time"},"checks":{"description":"Har bir tizim bo'yicha tekshiruv natijalari","type":"object"},"summary":{"description":"Umumiy xulosa","properties":{"can_proceed":{"description":"Jarayonni davom ettirish mumkinligi","type":"boolean"},"has_prohibition":{"description":"Biron-bir tizimda taqiq mavjudligi","type":"boolean"}},"type":"object"}},"type":"object"}]},"InvoiceResponse":{"title":"Invoys javobi","description":"Invoys ma'lumotlarini qaytaruvchi standart javob formati","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Invoys yozuvi IDsi","type":"integer","example":1},"invoice_id":{"description":"Invoys raqami (tizim tomonidan generatsiya qilingan)","type":"string","example":"INV-20240115-001"},"unique_id":{"description":"Noyob identifikator (tuman kodi + tur kodi + invoys raqami)","type":"string","example":"002601INV-20240115-001"},"state":{"description":"Invoys holati (0: bekor qilingan, 1: kutilmoqda, 2: to'langan, 3: foydalanilgan)","type":"integer","example":1},"state_label":{"description":"Invoys holati matni","type":"string","example":"Kutilmoqda"},"customer_id":{"description":"Mijoz IDsi","type":"integer","example":1},"region_id":{"description":"Viloyat IDsi","type":"integer","example":26},"district_id":{"description":"Tuman IDsi","type":"integer","example":100},"category_id":{"description":"To'lov kategoriyasi IDsi","type":"integer","example":1},"type_id":{"description":"To'lov turi IDsi","type":"integer","example":1},"user_id":{"description":"Invoys yaratgan foydalanuvchi IDsi","type":"integer","example":1},"amount":{"description":"Invoys summasi (tiyinda)","type":"number","example":150000},"formatted_amount":{"description":"Formatlangan summa (so'm bilan)","type":"string","example":"1 500 so'm"},"pretty_amount":{"description":"Formatlangan summa (faqat raqam)","type":"string","example":"1 500"},"tin":{"description":"Soliq to'lovchi identifikatsiya raqami (STIR yoki JSHSHIR)","type":"string","example":"123456789"},"is_paid":{"description":"To'langan yoki yo'qligi","type":"boolean","example":true},"is_pending":{"description":"Kutilmoqda holatida yoki yo'qligi","type":"boolean","example":false},"is_free":{"description":"Bepul xizmat yoki yo'qligi","type":"boolean","example":false},"free":{"description":"Bepul xizmat belgisi (jadval ustuni)","type":"boolean","example":false},"notifiable":{"description":"Bildirishnoma yuborish kerakligi","type":"boolean","example":false},"notified":{"description":"Bildirishnoma yuborilganligi","type":"boolean","example":false},"invoicable_type":{"description":"Polimorfik bog'lanish turi (registration, inspection va h.k.)","type":"string","example":"registration"},"invoicable_id":{"description":"Polimorfik bog'lanish IDsi","type":"integer","example":1},"customer":{"description":"Mijoz ma'lumotlari (aloqa yuklanganda)","type":"object","nullable":true},"category":{"description":"To'lov kategoriyasi (aloqa yuklanganda)","type":"object","nullable":true},"type":{"description":"To'lov turi (aloqa yuklanganda)","type":"object","nullable":true},"region":{"description":"Viloyat ma'lumotlari (aloqa yuklanganda)","type":"object","nullable":true},"district":{"description":"Tuman ma'lumotlari (aloqa yuklanganda)","type":"object","nullable":true},"base64QR":{"description":"QR kod rasmi (base64 formatda)","type":"string","example":"data:image\/png;base64,..."},"created_at":{"description":"Yaratilgan vaqt","type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"description":"Yangilangan vaqt","type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"}]},"NtUserResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"New Texnika bo'limi \u2014 Swagger tag va endpoint ta'riflari.\nBu controller logika bajarmaydi \u2014 faqat OpenAPI hujjatlash uchun.\n\nFoydalanuvchilar \u2192 NtUserController.php\nZavodlar \u2192 NtFactoryController.php\nSertifikatlar \u2192 NewVehicleCertificateController.php","type":"integer","example":1},"email":{"type":"string","example":"diller@test.com"},"is_active":{"type":"boolean","example":true},"company_name":{"type":"string","example":"Test Diller LLC"},"company_stir":{"type":"string","example":"123456789"},"company_director":{"type":"string","example":"Aliyev Vali Saliyevich"},"phone":{"type":"string","example":"+998901234567"},"tech_category":{"type":"array","items":{"type":"string"},"example":["Qishloq xo'jaligi texnikalari","Melioratsiya texnikalari"]},"v_types":{"type":"array","items":{"type":"integer"},"example":[1,3,5]},"state":{"properties":{"id":{"type":"integer","example":14},"name":{"type":"string","example":"Toshkent viloyati"}},"type":"object","nullable":true},"city":{"properties":{"id":{"type":"integer","example":220},"name":{"type":"string","example":"Chirchiq shahri"}},"type":"object","nullable":true},"address":{"type":"string","example":"Toshkent shahar, Chilonzor tumani"},"roles":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"}},"responsibles":{"type":"array","items":{"properties":{"id":{"type":"integer"},"pinfl":{"type":"string","example":"12345678901234"},"lastname":{"type":"string","example":"Karimov"},"firstname":{"type":"string","example":"Jasur"},"middlename":{"type":"string","example":"Bahodirovich"},"full_name":{"type":"string","example":"Karimov Jasur Bahodirovich"}},"type":"object"}},"has_factory_contract":{"description":"Faol zavod shartnomasi bormi","type":"boolean","example":true},"active_contract":{"description":"Birinchi faol shartnoma ma'lumotlari","properties":{"id":{"type":"integer","example":1},"factory_id":{"type":"integer","example":3},"factory_name":{"type":"string","example":"MTZ Minsk zavodi"},"term_date":{"type":"string","format":"date","example":"2027-01-01","nullable":true}},"type":"object","nullable":true},"factory_contracts":{"description":"Barcha zavod shartnomalari","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"factory_id":{"type":"integer","example":3},"factory_name":{"type":"string","example":"MTZ Minsk zavodi"},"term_date":{"type":"string","format":"date","nullable":true},"file_url":{"type":"string","nullable":true},"is_active":{"type":"boolean","example":true}},"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"NtFactoryResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent Traktorzavodi"},"code":{"type":"string","example":"TTZ","nullable":true},"country":{"type":"string","example":"O'zbekiston","nullable":true},"address":{"type":"string","example":"Toshkent shahri","nullable":true},"is_active":{"type":"boolean","example":true},"certificates_count":{"type":"integer","example":25,"nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"DealerApplicationResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"company_name":{"type":"string","example":"Agro Diller LLC"},"address":{"type":"string","example":"Toshkent sh., Chilonzor tumani"},"stir":{"type":"string","example":"302456789"},"phone":{"type":"string","example":"+998901234567"},"email":{"type":"string","example":"info@agrodiller.uz"},"foreign_brand_name":{"type":"string","example":"CLAAS"},"vehicle_types":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"G'ildirakli traktor"}},"type":"object"}},"vehicle_brands":{"type":"array","items":{"properties":{"id":{"type":"integer","example":10},"name":{"type":"string","example":"MTZ-82.1"}},"type":"object"}},"tif_tn_codes":{"type":"string","example":"8701100000,8701201000,8701209000"},"technical_regulation_certificate_url":{"type":"string","example":"https:\/\/s3.example.com\/dealer-applications\/technical_regulation_certificate\/abc.pdf","nullable":true},"representative_contract_url":{"type":"string","nullable":true},"representative_certificate_url":{"type":"string","nullable":true},"sales_storage_contract_url":{"type":"string","nullable":true},"website_url":{"type":"string","example":"https:\/\/www.claas.com\/dealers\/agrodiller","nullable":true},"status":{"type":"string","example":"pending","enum":["pending","approved","rejected"]},"status_label":{"type":"string","example":"Ko'rib chiqilmoqda"},"review_comment":{"type":"string","nullable":true},"reviewed_by":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object","nullable":true},"reviewed_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"OwnershipFormResource":{"title":"Mulkchilik shakli","description":"Mulkchilik shakli ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Mulkchilik shakli IDsi","type":"integer","example":1},"name":{"description":"Mulkchilik shakli nomi","type":"string","example":"Davlat mulki"}},"type":"object"}]},"CalculatedAmount":{"title":"Hisoblangan to'lov summasi","description":"BHM koeffitsiyenti asosida hisoblangan to'lov summasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"type_id":{"description":"To'lov turi ID","type":"integer","example":1},"type_name":{"description":"To'lov turi nomi","type":"string","example":"Dastlabki ro'yxatga olish"},"base_amount":{"description":"Bazaviy summa (tiyinda)","type":"number","example":150000},"bhm_coefficient":{"description":"BHM koeffitsiyenti","type":"number","example":0.5},"calculated_amount":{"description":"Hisoblangan yakuniy summa (tiyinda)","type":"number","example":170000}},"type":"object"}]},"PaymentTypeListResource":{"title":"To'lov turi (legacy)","description":"Legacy tizimdan kelgan to'lov turi ma'lumotlari (tbl_payment_types jadvali)","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"To'lov turi ID","type":"integer","example":1},"category":{"description":"Kategoriya kodi (vehicle_med, vehicle_reg, driver_lic va boshqalar)","type":"string","example":"vehicle_med"},"name":{"description":"To'lov nomi","type":"string","example":"Texnik ko'rik uchun to'lov"},"payment":{"description":"To'lov miqdori (BHM foizida)","type":"number","example":5.5},"code":{"description":"To'lov kodi (new - yangi, rec - qayta)","type":"string","example":"new"},"key_payment":{"description":"To'lov kaliti (vehicle, agregat va boshqalar)","type":"string","example":"vehicle"}},"type":"object"}]},"CalculatedPaymentAmount":{"title":"Hisoblangan to'lov summasi","description":"Eng kam ish haqi (BHM) asosida hisoblangan to'lov summasi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"amount":{"description":"Hisoblangan to'lov summasi (tiyinda)","type":"number","example":187000}},"type":"object"}]},"RegistrationReglistItem":{"description":"Ro'yxatdan o'tish muddati tugagan texnika \u2014 reestr elementi","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Ro'yxatga olish ID","type":"integer","example":1},"reference_id":{"description":"To'liq ma'lumotnoma raqami","type":"string","example":"REG-2025-001234"},"date":{"description":"Ro'yxatdan chiqarilgan sana","type":"string","format":"date","example":"2025-12-15"},"days_expired":{"description":"Ro'yxatdan chiqarilganidan beri o'tgan kunlar soni","type":"integer","example":45},"vehicle":{"description":"Transport vosita ma'lumotlari","properties":{"id":{"type":"integer","example":1},"transport_number":{"description":"Davlat raqami","type":"string","example":"01AB777"},"engineno":{"description":"Dvigatel raqami","type":"string","example":"D4CB1234567","nullable":true},"brand":{"description":"Brend nomi","type":"string","example":"MTZ-80","nullable":true},"type":{"description":"Texnika turi","type":"string","example":"Traktor","nullable":true},"year":{"description":"Ishlab chiqarilgan yili","type":"integer","example":2020,"nullable":true}},"type":"object","nullable":true},"customer":{"description":"Mijoz (egasi) ma'lumotlari","properties":{"id":{"type":"integer","example":1},"name":{"description":"To'liq ism","type":"string","example":"Karimov Jasur"},"pinfl":{"description":"JSHSHIR","type":"string","example":"31234567890123","nullable":true},"inn":{"description":"INN","type":"string","example":"123456789","nullable":true},"phone":{"description":"Telefon raqami","type":"string","example":"+998901234567","nullable":true}},"type":"object","nullable":true},"location":{"description":"Manzil ma'lumotlari","properties":{"region":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati","nullable":true},"district":{"description":"Tuman nomi","type":"string","example":"Chirchiq tumani","nullable":true}},"type":"object"},"notification":{"description":"So'nggi bildirishnoma ma'lumotlari (agar yuborilgan bo'lsa)","properties":{"id":{"type":"integer","example":1},"status":{"description":"Bildirishnoma holati","type":"string","example":"delivered"},"status_label":{"description":"Holat nomi (o'zbekcha)","type":"string","example":"Yetkazildi"},"sent_at":{"description":"Yuborilgan vaqti","type":"string","format":"date-time","example":"2026-01-20 14:30:00","nullable":true},"delivered_at":{"description":"Yetkazilgan vaqti","type":"string","format":"date-time","example":"2026-01-20 14:30:05","nullable":true}},"type":"object","nullable":true},"notification_status":{"description":"Bildirishnoma holati qisqacha","type":"string","example":"delivered","enum":["not_sent","pending","sent","delivered","failed"]},"notification_status_label":{"description":"Holat nomi (o'zbekcha)","type":"string","example":"Yetkazildi"}},"type":"object"}]},"DashboardStats":{"title":"Dashboard statistikasi","description":"Umumiy tizim statistikasi: texnikalar, mijozlar, ro'yxatga olishlar, ko'riklar va to'lovlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"vehicles":{"properties":{"total":{"description":"Jami texnikalar soni","type":"integer"},"registered":{"description":"Ro'yxatga olingan texnikalar","type":"integer"},"unregistered":{"description":"Ro'yxatga olinmagan texnikalar","type":"integer"},"locked":{"description":"Bloklangan texnikalar","type":"integer"},"period_new":{"description":"Tanlangan davrda yangi qo'shilganlar","type":"integer"}},"type":"object"},"customers":{"properties":{"total":{"description":"Jami mijozlar soni","type":"integer"},"physical":{"description":"Jismoniy shaxslar","type":"integer"},"legal":{"description":"Yuridik shaxslar","type":"integer"},"period_new":{"description":"Tanlangan davrda yangi qo'shilganlar","type":"integer"}},"type":"object"},"registrations":{"properties":{"total":{"description":"Jami ro'yxatga olishlar","type":"integer"},"period":{"description":"Tanlangan davrdagi ro'yxatga olishlar","type":"integer"}},"type":"object"},"inspections":{"properties":{"total":{"description":"Jami texnik ko'riklar","type":"integer"},"period":{"description":"Tanlangan davrdagi ko'riklar","type":"integer"}},"type":"object"},"invoices":{"properties":{"total":{"description":"Jami hisob-fakturalar","type":"integer"},"paid":{"description":"To'langan hisob-fakturalar","type":"integer"},"pending":{"description":"Kutilayotgan hisob-fakturalar","type":"integer"},"total_amount":{"description":"Jami to'langan summa (tiyinda)","type":"number"},"period_amount":{"description":"Tanlangan davrdagi to'langan summa","type":"number"}},"type":"object"}},"type":"object"}]},"IncomeReport":{"title":"Daromad hisoboti","description":"Berilgan davr uchun daromad statistikasi: jami soni, summasi va davr bo'yicha tafsilotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total_count":{"description":"Jami to'lovlar soni","type":"integer"},"total_amount":{"description":"Jami daromad summasi (tiyinda)","type":"number"},"data":{"type":"array","items":{"properties":{"period":{"description":"Davr nomi (sana formati)","type":"string"},"count":{"description":"To'lovlar soni","type":"integer"},"total_amount":{"description":"Davrdagi jami summa","type":"number"}},"type":"object"}}},"type":"object"}]},"ExamStatsReport":{"title":"Imtihon statistikasi","description":"Haydovchilik imtihonlari bo'yicha batafsil statistika","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total":{"description":"Jami imtihonlar soni","type":"integer"},"passed":{"description":"Muvaffaqiyatli topshirganlar","type":"integer"},"failed":{"description":"Topshira olmaganlar","type":"integer"},"pending":{"description":"Kutilayotganlar","type":"integer"},"pass_rate":{"description":"O'tish foizi (%)","type":"number"},"avg_theory_score":{"description":"O'rtacha nazariy ball","type":"number"},"avg_practice_score":{"description":"O'rtacha amaliy ball","type":"number"}},"type":"object"}]},"UserFactoryContractResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"user_id":{"type":"integer","example":5},"user":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"lastname":{"type":"string"},"full_name":{"type":"string"}},"type":"object"},"factory_id":{"type":"integer","example":3},"factory":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"term_date":{"type":"string","format":"date","example":"2027-01-01","nullable":true},"file_url":{"description":"Shartnoma fayli URL","type":"string","example":"https:\/\/s3.example.com\/contracts\/files\/abc.pdf","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"}]},"VehicleBrandResource":{"title":"Texnika brendi","description":"Texnika brendi ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Brend IDsi","type":"integer","example":1},"name":{"description":"Brend nomi","type":"string","example":"MX-80"},"vehicle_id":{"description":"Texnika turi IDsi (tbl_vehicle_types.id)","type":"integer","example":23},"type_name":{"description":"Texnika turi nomi","type":"string","example":"Traktor","nullable":true},"working_type_id":{"description":"Ish turi IDsi (vehicle_works_fors.id)","type":"integer","example":1,"nullable":true},"working_name":{"description":"Ish turi nomi","type":"string","example":"Yuqori unumli","nullable":true},"enginesize":{"description":"Dvigatel quvvati (ot kuchi)","type":"string","example":"80","nullable":true},"unfit":{"description":"Ro'yxatga olinmaydigan texnika belgisi","type":"boolean","example":false},"not_minstroy":{"description":"Qurilish vazirligiga yuborilmaydigan belgisi","type":"boolean","example":false}},"type":"object"}]},"VehicleTypeResponse":{"type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor"},"code":{"type":"string","example":"TRK","nullable":true},"minstroy_id":{"description":"Qurilish vazirligi IDsi","type":"integer","example":1,"nullable":true},"auction_id":{"description":"E-Auksion IDsi","type":"integer","example":1,"nullable":true},"category":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Qishloq xo'jaligi texnikalari"}},"type":"object","nullable":true}},"type":"object"}]},"WorkingTypeResource":{"title":"Ish turi","description":"Ish turi ma'lumotlari","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Ish turi IDsi","type":"integer","example":1},"name":{"description":"Ish turi nomi","type":"string","example":"Yuqori unumli"},"type_id":{"description":"Texnika turi IDsi (tbl_vehicle_types.id)","type":"integer","example":23},"type_name":{"description":"Texnika turi nomi","type":"string","example":"Traktor","nullable":true},"e_urug_id":{"description":"E-Urug' tizimidagi mos ID","type":"integer","example":1,"nullable":true},"report_id":{"description":"Hisobot tizimidagi mos ID","type":"integer","example":2,"nullable":true}},"type":"object"}]},"YidxpApplicationResponse":{"title":"YIDXP ariza ma'lumotlari","description":"EPIGU orqali kelgan ariza haqida to'liq ma'lumot","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"id":{"description":"Ariza ID","type":"integer","example":1},"epigu_task_id":{"description":"EPIGU tizimidagi task ID","type":"string","example":"EPIGU-2024-001234"},"service_target":{"description":"Xizmat turi: 1-yangi, 2-qayta, 3-vaqtinchalik, 4-hisobdan chiqarish, 5-ma'lumotnoma, 6-texnik ko'rik","type":"integer","example":1},"task_status":{"description":"Ariza holati","type":"string","example":"new","enum":["new","accepted","processed","paid","rejected","finished"]},"customer_pinfl":{"description":"Arizachi PINFL","type":"string","example":"12345678901234"},"technic_name":{"description":"Texnika nomi","type":"string","example":"Traktor"},"technic_model":{"description":"Texnika rusumi","type":"string","example":"MX 270"},"payment_amount":{"description":"To'lov summasi","type":"number","example":150000},"payment_status":{"description":"To'lov holati","type":"string","example":"pending","enum":["pending","paid"]},"created_at":{"description":"Yaratilgan vaqt","type":"string","format":"date-time"}},"type":"object"}]},"YidxpStatisticsResponse":{"title":"YIDXP statistikasi","description":"EPIGU arizalari bo'yicha umumiy statistik ma'lumotlar","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"total":{"description":"Jami arizalar soni","type":"integer"},"new":{"description":"Yangi arizalar","type":"integer"},"accepted":{"description":"Qabul qilingan","type":"integer"},"processed":{"description":"Ko'rib chiqilayotgan","type":"integer"},"finished":{"description":"Yakunlangan","type":"integer"},"rejected":{"description":"Rad etilgan","type":"integer"},"by_service":{"description":"Xizmat turi bo'yicha taqsimot","properties":{"new_registration":{"description":"Yangi ro'yxatga olish","type":"integer"},"re_registration":{"description":"Qayta ro'yxatga olish","type":"integer"},"temporary":{"description":"Vaqtinchalik ro'yxat","type":"integer"},"unregistration":{"description":"Hisobdan chiqarish","type":"integer"},"reference":{"description":"Ma'lumotnoma","type":"integer"},"inspection":{"description":"Texnik ko'rik","type":"integer"}},"type":"object"}},"type":"object"}]},"YidxpPendingResponse":{"title":"Kutilayotgan arizalar soni","description":"Har bir xizmat turi bo'yicha kutilayotgan (yangi, qabul qilingan, ko'rib chiqilayotgan) arizalar soni","type":"object","allOf":[{"$ref":"#\/components\/schemas\/VehicleType"},{"properties":{"service_1":{"description":"Yangi ro'yxatga olish \u2014 kutilayotgan","type":"integer"},"service_2":{"description":"Qayta ro'yxatga olish \u2014 kutilayotgan","type":"integer"},"service_3":{"description":"Vaqtinchalik ro'yxat \u2014 kutilayotgan","type":"integer"},"service_4":{"description":"Hisobdan chiqarish \u2014 kutilayotgan","type":"integer"},"service_5":{"description":"Ma'lumotnoma \u2014 kutilayotgan","type":"integer"},"service_6":{"description":"Texnik ko'rik \u2014 kutilayotgan","type":"integer"},"total":{"description":"Jami kutilayotgan arizalar","type":"integer"}},"type":"object"}]},"Vehicle":{"title":"Vehicle","description":"Texnika modeli","properties":{"id":{"description":"Agroteh Service Base Controller\n\nQishloq xo'jaligi texnikalarini ro'yxatga olish va texnik ko'rik xizmati","type":"integer","example":1},"type":{"type":"string","example":"vehicle","enum":["vehicle","agregat","tirkama"]},"owner_id":{"type":"integer","example":1},"vehicle_brand_id":{"type":"integer","example":1},"vehicle_type_id":{"type":"integer","example":1},"engine_no":{"type":"string","example":"ABC123456"},"chassis_no":{"type":"string","example":"XYZ789012"},"corpus_no":{"type":"string","example":"CRP456789"},"factory_number":{"type":"string","example":"FN123"},"release_year":{"type":"integer","example":2020},"color_id":{"type":"integer","example":1},"condition":{"type":"string","example":"new","enum":["new","used"]},"state":{"type":"string","example":"unlock","enum":["lock","unlock"]},"status":{"type":"string","example":"regged","enum":["regged","unregged"]},"region_id":{"type":"integer","example":1},"district_id":{"type":"integer","example":1},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"Customer":{"title":"Customer","description":"Mijoz modeli","properties":{"id":{"type":"integer","example":1},"type":{"type":"string","example":"physical","enum":["physical","legal"]},"name":{"type":"string","example":"Alisher"},"lastname":{"type":"string","example":"Navoiy"},"middlename":{"type":"string","example":"Shermuhammad o'g'li"},"inn":{"type":"string","example":"123456789"},"pinfl":{"type":"string","example":"12345678901234"},"passport_series":{"type":"string","example":"AA"},"passport_number":{"type":"string","example":"1234567"},"phone":{"type":"string","example":"+998901234567"},"address":{"type":"string","example":"Toshkent sh., Chilonzor t."},"region_id":{"type":"integer","example":1},"district_id":{"type":"integer","example":1},"status":{"type":"string","example":"active"},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"Invoice":{"title":"Invoice","description":"Hisob-faktura modeli","properties":{"id":{"type":"integer","example":1},"invoice_id":{"type":"string","example":"INV-2024-000001"},"customer_id":{"type":"integer","example":1},"amount":{"type":"number","format":"float","example":150000},"currency":{"type":"string","example":"UZS"},"status":{"type":"string","example":"pending","enum":["pending","paid","cancelled"]},"description":{"type":"string","example":"Ro'yxatga olish to'lovi"},"payment_date":{"type":"string","format":"date","nullable":true},"due_date":{"type":"string","format":"date"},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"Registration":{"title":"Registration","description":"Ro'yxatga olish modeli","properties":{"id":{"type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"customer_id":{"type":"integer","example":1},"registration_action":{"type":"string","example":"register","enum":["register","reregister","unregister"]},"reference_id":{"type":"string","example":"REG-2024-000001"},"registered_at":{"type":"string","format":"date-time"},"status":{"type":"string","example":"confirmed"},"notes":{"type":"string","nullable":true}},"type":"object"},"Inspection":{"title":"Inspection","description":"Texnik ko'rik modeli","properties":{"id":{"type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"inspection_type":{"type":"string","example":"mandatory","enum":["mandatory","general"]},"result":{"type":"string","example":"passed","enum":["passed","failed","pending"]},"inspector_id":{"type":"integer","example":1},"inspection_date":{"type":"string","format":"date"},"valid_until":{"type":"string","format":"date"},"status":{"type":"string","example":"confirmed"},"notes":{"type":"string","nullable":true}},"type":"object"},"TechnicalPassport":{"title":"TechnicalPassport","description":"Texnik pasport modeli","properties":{"id":{"type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"series":{"type":"string","example":"TP"},"number":{"type":"string","example":"1234567"},"issued_date":{"type":"string","format":"date"},"status":{"type":"string","example":"active"}},"type":"object"},"DriverLicence":{"title":"DriverLicence","description":"Haydovchilik guvohnomasi modeli","properties":{"id":{"type":"integer","example":1},"customer_id":{"type":"integer","example":1},"series":{"type":"string","example":"DL"},"number":{"type":"string","example":"1234567"},"category":{"type":"string","example":"F"},"issued_date":{"type":"string","format":"date"},"valid_until":{"type":"string","format":"date"},"status":{"type":"string","example":"active"}},"type":"object"},"PaginatedResponse":{"title":"PaginatedResponse","description":"Sahifalangan javob","properties":{"data":{"type":"array","items":{"type":"object"}},"links":{"properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"},"meta":{"properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"to":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}},"type":"object"},"SuccessResponse":{"title":"SuccessResponse","description":"Muvaffaqiyatli javob","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Operation completed successfully"},"data":{"type":"object"}},"type":"object"},"ErrorResponse":{"title":"ErrorResponse","description":"Xato javobi","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validation failed"},"errors":{"type":"object"}},"type":"object"},"Color":{"title":"Color","description":"Rang","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Qora"},"name_uz":{"type":"string","example":"Qora"},"name_ru":{"type":"string","example":"\u0427\u0451\u0440\u043d\u044b\u0439"},"hex_code":{"type":"string","example":"#000000"},"is_active":{"type":"boolean","example":true}},"type":"object"},"VehicleBrand":{"title":"VehicleBrand","description":"Texnika brendi","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"John Deere"},"country":{"type":"string","example":"USA"},"is_active":{"type":"boolean","example":true}},"type":"object"},"VehicleType":{"title":"VehicleType","description":"Texnika turi","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"G'ildirakli traktor"},"code":{"type":"string","example":"WT"},"category":{"type":"string","example":"vehicle"},"is_active":{"type":"boolean","example":true}},"type":"object"},"ActivityResource":{"properties":{"id":{"description":"Faoliyat log resursi","type":"integer","example":1},"log_name":{"type":"string","example":"default"},"description":{"type":"string","example":"Texnika yangilandi"},"event":{"type":"string","example":"updated"},"subject_type":{"type":"string","example":"App\\Models\\Vehicle"},"subject_type_name":{"type":"string","example":"Vehicle"},"subject_id":{"type":"integer","example":1},"subject":{"type":"object","nullable":true},"causer_type":{"type":"string","example":"App\\Models\\User"},"causer_type_name":{"type":"string","example":"User"},"causer_id":{"type":"integer","example":1},"causer":{"type":"object","nullable":true},"properties":{"type":"object","nullable":true},"changes":{"type":"object","nullable":true},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"AgroMarkazResource":{"properties":{"id":{"description":"Agro Markaz sinxronlash yozuvi resursi","type":"integer","example":1},"vehicle_id":{"type":"integer","example":42},"owner_name":{"type":"string","example":"Toshkent Agro LLC","nullable":true},"owner_tin":{"type":"string","example":"123456789","nullable":true},"tech_type":{"type":"string","example":"Traktor","nullable":true},"tech_model":{"type":"string","example":"MTZ-82","nullable":true},"tech_drb_number":{"type":"string","example":"01 AA 123456","nullable":true},"tech_certificate":{"type":"string","nullable":true},"tech_made_year":{"type":"string","example":"2020","nullable":true},"region_soato":{"type":"integer","nullable":true},"district_soato":{"type":"integer","nullable":true},"is_deleted":{"type":"boolean","example":false},"update_id":{"type":"integer"},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"AgroPortalTaskResource":{"properties":{"id":{"description":"AgroPortal topshiriq resursi","type":"integer","example":1},"task_id":{"type":"string","example":"AP-2024-001"},"service_type":{"type":"string","example":"registration"},"task_status":{"type":"string","example":"new"},"status_label":{"type":"string","example":"Yangi"},"payment_status":{"type":"string","example":"paid","nullable":true},"payment_status_label":{"type":"string","example":"To'landi"},"payment_amount":{"type":"string","example":"150000","nullable":true},"payment_date":{"type":"string","format":"date-time","nullable":true},"is_represent":{"type":"integer","example":0},"is_represent_label":{"type":"string","example":"Shaxsan"},"last_update":{"type":"string","format":"date-time"},"user_id":{"type":"integer","nullable":true},"purpose_type":{"type":"integer","nullable":true},"applicant_pinfl":{"type":"string","nullable":true},"applicant_name":{"type":"string","nullable":true},"passport_id":{"type":"string","nullable":true},"birth_date":{"type":"string","nullable":true},"represent_name":{"type":"string","nullable":true},"represent_pinfl":{"type":"string","nullable":true},"tech_name":{"type":"string","nullable":true},"tech_model":{"type":"string","nullable":true},"tech_year":{"type":"string","nullable":true},"tech_engine":{"type":"string","nullable":true},"tech_factory":{"type":"string","nullable":true},"tech_corpus":{"type":"string","nullable":true},"region_name":{"type":"string","nullable":true},"region_soato":{"type":"string","nullable":true},"district_name":{"type":"string","nullable":true},"district_soato":{"type":"string","nullable":true},"tech_passport":{"type":"string","nullable":true},"phone_number":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"AgroinLetterResource":{"properties":{"id":{"type":"integer","example":1},"appeal_id":{"type":"integer","example":12345},"letter_id":{"type":"integer","example":67890},"customer_tin":{"type":"string","example":"123456789"},"customer_type":{"type":"string","example":"legal"},"tex_drb":{"type":"string","example":"01A123BC"},"vehicle_type":{"type":"string","example":"texnika"},"status":{"type":"string","example":"success"},"amount":{"type":"number","example":33000},"file_link":{"type":"string","example":"https:\/\/agroin.uz\/files\/letter.pdf"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"CustomerResource":{"properties":{"id":{"description":"CustomerResource - Mijoz ma'lumotlari\nMUHIM: Column nomlari eski MySQL bilan bir xil!\n- city_id (district_id EMAS!)\n- d_o_birth (birth_date EMAS!)\n- p_given_date (passport_given_date EMAS!)\n- p_given_city (passport_given_by EMAS!)\n- form (ownership_form_id EMAS!)","type":"integer","example":1},"type":{"type":"string","example":"physical"},"type_label":{"type":"string","example":"Jismoniy shaxs"},"status":{"type":"string","example":"active"},"status_label":{"type":"string","example":"Faol"},"name":{"type":"string","example":"Ali"},"lastname":{"type":"string","example":"Valiyev"},"middlename":{"type":"string","example":"Karimovich"},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"short_name":{"type":"string","example":"Valiyev A.K."},"inn":{"type":"string","example":"123456789"},"pinfl":{"type":"string","example":"12345678901234"},"id_number":{"type":"string","example":"AA1234567"},"passport_series":{"type":"string","example":"AA"},"passport_number":{"type":"string","example":"1234567"},"passport_id":{"type":"string","example":"AA1234567"},"passport_given_by":{"type":"string","example":"Toshkent sh. IIB"},"passport_given_date":{"type":"string","format":"date","example":"2020-01-15"},"birth_date":{"type":"string","format":"date","example":"1989-05-20"},"age":{"type":"integer","example":35},"mobile":{"type":"string","example":"+998901234567"},"email":{"type":"string","example":"info@fermer.uz"},"address":{"type":"string","example":"Toshkent sh., Chilonzor tumani"},"residence":{"description":"0=shahar, 1=qishloq","type":"integer"},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"district_id":{"description":"Tuman\/shahar ID","type":"integer","example":10},"birthplace_id":{"description":"Tug'ilgan joy ID","type":"integer","example":5},"filial_of":{"description":"Asosiy tashkilot ID (filial uchun)","type":"integer","example":1},"category_ids":{"description":"Kategoriyalar ID lari (comma-separated)","type":"string","example":"1,2,3"},"category_ids_array":{"description":"Kategoriyalar ID lari (massiv)","type":"array","items":{"type":"integer"},"example":"[1, 2, 3]"},"ownership_form_id":{"description":"Mulkchilik shakli ID (ownership_forms)","type":"integer","example":1},"vehicles_count":{"type":"integer","example":3},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"CustomerCategoryResource":{"properties":{"id":{"description":"Mijoz kategoriyasi resursi\nuzagroteh-main: customer\/category\/list.blade.php bilan mos","type":"integer","example":1},"name":{"type":"string","example":"Fermer xo'jaligi"},"for_type":{"type":"string","example":"legal","nullable":true,"enum":["physical","legal"]}},"type":"object"},"Agroteh_DistrictResource":{"properties":{"id":{"description":"Tuman (shahar) resursi","type":"integer","example":1},"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"name_en":{"type":"string","example":"Chilanzar district"},"code":{"type":"string","nullable":true},"soato":{"type":"integer","example":172604},"is_active":{"type":"boolean","example":true},"state_id":{"type":"integer","example":1},"region":{"type":"object","nullable":true}},"type":"object"},"DocumentResource":{"properties":{"id":{"description":"Asos hujjat resursi\nuzagroteh-main: docs\/list.blade.php bilan mos","type":"integer","example":1},"name":{"type":"string","example":"Oldi-sotdi shartnomasi"},"service":{"type":"string","example":"registration"},"service_name":{"type":"string","example":"Ro'yxatga olish"},"unfit":{"type":"boolean","example":false},"status_name":{"type":"string","example":"Faol"}},"type":"object"},"DocumentTypeResource":{"properties":{"id":{"description":"Hujjat turi resursi","type":"integer","example":1},"name":{"type":"string","example":"Oldi-sotdi shartnomasi"},"code":{"type":"string","example":"oldi-sotdi-shartnomasi"},"category":{"type":"string","example":"registration"},"category_label":{"type":"string","example":"Ro'yxatga olish"},"description":{"type":"string","nullable":true},"is_active":{"type":"boolean","example":true},"is_printable":{"type":"boolean","example":false},"requires_signature":{"type":"boolean","example":false},"validity_days":{"type":"integer","nullable":true},"fee_amount":{"type":"number","nullable":true},"sort_order":{"type":"integer","example":0},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"DriverExamResource":{"properties":{"id":{"type":"integer","example":1},"owner_id":{"type":"integer","example":1},"exam_type":{"type":"string","example":"initial"},"exam_type_label":{"type":"string","example":"Dastlabki"},"categories":{"type":"string","example":"B,C"},"exam_date":{"type":"string","format":"date","example":"2024-01-15"},"theory_score":{"type":"integer","example":85},"practice_score":{"type":"integer","example":90},"result":{"type":"string","example":"passed"},"result_label":{"type":"string","example":"O'tdi"},"status":{"type":"string","example":"completed"},"status_label":{"type":"string","example":"Yakunlangan"},"is_passed":{"type":"boolean","example":true},"is_completed":{"type":"boolean","example":true},"customer":{"type":"object"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"DriverLicenceResource":{"description":"Haydovchilik guvohnomasi resursi \u2014 mijoz, kategoriyalar, to'lov va hujjat ma'lumotlari bilan","properties":{"id":{"description":"Guvohnoma ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"series":{"description":"Seriya","type":"string","example":"AA"},"number":{"description":"Raqam","type":"string","example":"1234567"},"licence_id":{"description":"To'liq guvohnoma raqami (series+number)","type":"string","example":"AA1234567"},"local_series":{"description":"Mahalliy seriya","type":"string","nullable":true},"local_number":{"description":"Mahalliy raqam","type":"string","nullable":true},"local_licence_id":{"description":"To'liq mahalliy guvohnoma raqami","type":"string","nullable":true},"categories":{"description":"Kategoriyalar vergul bilan ajratilgan","type":"string","example":"B,C"},"categories_array":{"description":"Kategoriyalar massivi","type":"array","items":{"type":"string","example":"B"}},"type":{"description":"Kategoriyalar batafsil [{name, given_date, duration}]","type":"array","items":{"properties":{"name":{"type":"string","example":"B"},"given_date":{"type":"string","format":"date","example":"2024-01-15"},"duration":{"type":"integer","example":10}},"type":"object"}},"status":{"description":"Holati","type":"string","example":"active","enum":["active","inactive"]},"action":{"description":"Amal turi","type":"string","example":"give","enum":["give","recover","update"]},"action_label":{"description":"Amal turi nomi (o'zbekcha)","type":"string","example":"Yangi berilgan","nullable":true},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2024-01-15"},"expire_date":{"description":"Amal qilish muddati tugash sanasi","type":"string","format":"date","example":"2034-01-15","nullable":true},"is_expired":{"description":"Muddati o'tganmi","type":"boolean","example":false},"days_left":{"description":"Muddat tugashiga qolgan kunlar","type":"integer","nullable":true},"doc":{"description":"Asos hujjat ID","type":"integer","nullable":true},"doc_note":{"description":"Hujjat izohi","type":"string","nullable":true},"note":{"description":"Qo'shimcha izoh","type":"string","nullable":true},"total_amount":{"description":"Umumiy summa (so'm)","type":"number","example":150000,"nullable":true},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":150000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","nullable":true,"enum":["pending","paid","partial","free"]},"payment_date":{"description":"To'lov sanasi","type":"string","format":"date","nullable":true},"recover_reason":{"description":"Qayta berish sababi","type":"string","nullable":true},"customer":{"description":"Mijoz (CustomerShortResource, eager load qilinganda)","type":"object","nullable":true},"document":{"description":"Asos hujjat (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Tibbiy ma'lumotnoma"}},"type":"object","nullable":true},"user":{"description":"Yaratgan xodim (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Karimov Alisher"}},"type":"object","nullable":true},"created_at":{"description":"Yaratilgan vaqti","type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"description":"Yangilangan vaqti","type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"DxaTaskResource":{"properties":{"id":{"description":"DXA topshiriq resursi","type":"integer","example":1},"application_id":{"type":"string","example":"DXA-2024-001"},"type_id":{"type":"integer","nullable":true},"org_name":{"type":"string","nullable":true},"org_tin":{"type":"string","nullable":true},"org_address":{"type":"string","nullable":true},"status":{"type":"integer","example":0},"status_label":{"type":"string","example":"Yangi"},"error_message":{"type":"string","nullable":true},"received_at":{"type":"string","format":"date-time","nullable":true},"processed_at":{"type":"string","format":"date-time","nullable":true},"sent_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"EkologiyaRequestResource":{"properties":{"id":{"description":"Ekologiya so'rov resursi","type":"integer","example":1},"ip_address":{"type":"string","example":"10.0.0.1","nullable":true},"status":{"type":"string","example":"processed","nullable":true},"status_label":{"type":"string","example":"Qayta ishlandi"},"request_body":{"type":"object","nullable":true},"response":{"type":"object","nullable":true},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"InspectionResource":{"properties":{"id":{"description":"InspectionResource - Texnik ko'rik\nuzagroteh-main medlist bilan bir xil","type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"owner_id":{"type":"integer","example":1},"talonno":{"description":"Dalolatnoma raqami","type":"string","example":"M24001000001"},"type_id":{"type":"string","example":"mandatory"},"type_label":{"type":"string","example":"Majburiy"},"condition":{"description":"Tekshiruv natijasi","type":"string","example":"pass"},"condition_label":{"type":"string","example":"O'tdi"},"status":{"description":"Yozuv holati","type":"string","example":"active"},"status_label":{"type":"string","example":"Faol"},"date":{"type":"string","format":"date","example":"2024-01-15"},"from_date":{"type":"string","format":"date","example":"2024-01-15","nullable":true},"to_date":{"type":"string","format":"date","example":"2025-01-15","nullable":true},"expire_date":{"type":"string","format":"date","example":"2025-01-15","nullable":true},"validity_period":{"description":"Amal qilish muddati","type":"string","nullable":true},"days_remaining":{"description":"Qolgan kunlar","type":"integer","nullable":true},"days_since":{"description":"O'tgan kunlar (uzagroteh-main diff)","type":"integer","nullable":true},"is_expired":{"type":"boolean","example":false},"is_passed":{"type":"boolean","example":true},"is_failed":{"type":"boolean","example":false},"is_mandatory":{"type":"boolean","example":true},"is_general":{"type":"boolean","example":false},"is_active":{"type":"boolean","example":true},"note":{"type":"string","nullable":true},"total_amount":{"type":"number","example":150000,"nullable":true},"vehicle":{"type":"object"},"customer":{"type":"object"},"payment_type":{"type":"object","nullable":true},"invoice":{"description":"Bog'langan invoys","type":"object","nullable":true},"attachments":{"description":"Biriktirilgan fayllar","type":"array","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"InvoiceResource":{"properties":{"id":{"type":"integer","example":1},"invoice_id":{"type":"string","example":"INV-20240115-001"},"unique_id":{"type":"string","example":"002601INV-20240115-001"},"state":{"type":"integer","example":1},"state_label":{"type":"string","example":"Kutilmoqda"},"customer_id":{"type":"integer","example":1},"region_id":{"type":"integer","example":26},"district_id":{"type":"integer","example":100},"category_id":{"type":"integer","example":1},"type_id":{"type":"integer","example":1},"user_id":{"type":"integer","example":1},"amount":{"type":"number","example":150000},"formatted_amount":{"type":"string","example":"1 500 so'm"},"pretty_amount":{"type":"string","example":"1 500"},"tin":{"type":"string","example":"123456789"},"is_paid":{"type":"boolean","example":true},"is_pending":{"type":"boolean","example":false},"is_free":{"type":"boolean","example":false},"free":{"type":"boolean","example":false},"notifiable":{"type":"boolean","example":false},"notified":{"type":"boolean","example":false},"invoicable_type":{"type":"string","example":"registration"},"invoicable_id":{"type":"integer","example":1},"base64QR":{"type":"string","example":"data:image\/png;base64,..."},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"NewVehicleCertificateResource":{"properties":{"id":{"description":"NewVehicleCertificateResource\n\nNtCertificate + NtVehicle model uchun API response formati.\nEski NewVehicleCertificate va yangi NtCertificate ikkalasi bilan ishlaydi.\nAPI Response formati O'ZGARMAGAN.","type":"integer","example":1},"certificate":{"description":"Sertifikat asosiy ma'lumotlari","type":"object"},"seller":{"description":"Sotuvchi ma'lumotlari","type":"object"},"buyer":{"description":"Xaridor ma'lumotlari","type":"object"},"location":{"description":"Joylashuv","type":"object"},"vehicle":{"description":"Texnika ma'lumotlari","type":"object"},"base_document":{"description":"Asos hujjat","type":"object"},"purchase":{"description":"Sotib olish ma'lumotlari","type":"object"},"user":{"type":"object","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"NspaRequestResource":{"properties":{"id":{"description":"NSPA so'rov resursi","type":"integer","example":1},"request_type":{"type":"string","example":"vehicle_info","nullable":true},"applicant_inn":{"type":"string","example":"123456789012","nullable":true},"ip_address":{"type":"string","example":"192.168.1.1","nullable":true},"status":{"type":"integer","example":0},"status_label":{"type":"string","example":"Yangi"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"PaymentCategoryResource":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Ro'yxatga olish to'lovlari"},"code":{"type":"string","example":"registration"},"description":{"type":"string","example":"To'lov kategoriyasi tavsifi"},"is_active":{"type":"boolean","example":true},"types":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentTypeResource"}},"types_count":{"type":"integer","example":5},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"PaymentMerchantResource":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Payme"},"code":{"type":"string","example":"payme"},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"PaymentTransactionResource":{"properties":{"id":{"description":"To'lov tranzaksiyasi resursi","type":"integer","example":1},"transaction_id":{"type":"string","example":"TRX-001"},"invoice_id":{"type":"integer","example":1},"amount":{"type":"number","example":150000},"amount_formatted":{"type":"string","example":"150 000 so'm"},"state":{"type":"integer","example":2},"state_label":{"type":"string","example":"To'langan"},"create_time":{"type":"string","format":"date-time"},"pay_time":{"type":"string","format":"date-time","nullable":true},"invoice":{"type":"object","nullable":true},"category":{"type":"object","nullable":true},"type":{"type":"object","nullable":true}},"type":"object"},"PaymentTypeResource":{"properties":{"id":{"type":"integer","example":1},"category_id":{"type":"integer","example":1},"name":{"type":"string","example":"Dastlabki ro'yxatga olish"},"code":{"type":"string","example":"initial_registration"},"amount":{"type":"number","example":150000},"bhm_coefficient":{"type":"number","example":0.5},"description":{"type":"string","example":"To'lov turi tavsifi"},"is_active":{"type":"boolean","example":true},"category":{"type":"object"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"PereRegisterRequestResource":{"properties":{"id":{"description":"Pere-Register arizasi resursi","type":"integer","example":1},"vehicle_id":{"type":"integer","example":100},"customer_id":{"description":"Yangi egasi ID","type":"integer","example":55},"old_owner_id":{"description":"Eski egasi ID","type":"integer","example":40,"nullable":true},"request_type":{"type":"string","example":"pere_register"},"status":{"description":"0=Kutilmoqda, 1=Tasdiqlandi, 2=Rad etildi, 3=Bekor qilindi","type":"integer","example":0},"status_label":{"type":"string","example":"Kutilmoqda"},"user_id":{"type":"integer","nullable":true},"from_region_id":{"type":"integer","nullable":true},"to_region_id":{"type":"integer","nullable":true},"from_city_id":{"type":"integer","nullable":true},"to_city_id":{"type":"integer","nullable":true},"reason":{"type":"string","nullable":true},"reject_reason":{"type":"string","nullable":true},"accepted_at":{"type":"string","format":"date-time","nullable":true},"rejected_at":{"type":"string","format":"date-time","nullable":true},"accepted_by":{"type":"integer","nullable":true},"rejected_by":{"type":"integer","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"ProkuraturaRequestResource":{"properties":{"id":{"description":"Prokuratura so'rov resursi","type":"integer","example":1},"type_id":{"type":"integer","example":1,"nullable":true},"type_label":{"type":"string","example":"Texnika ma'lumoti"},"request_data":{"description":"So'rov ma'lumotlari (JSON)","type":"object"},"response_data":{"description":"Javob ma'lumotlari (JSON)","type":"object","nullable":true},"status":{"type":"integer","example":0},"status_label":{"type":"string","example":"Yangi"},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"RegionDistrictResource":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Chilonzor tumani"},"name_uz":{"type":"string","example":"Chilonzor tumani"},"name_ru":{"type":"string","example":"\u0427\u0438\u043b\u0430\u043d\u0437\u0430\u0440\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d"},"name_en":{"type":"string","example":"Chilanzar district"},"code":{"type":"string","nullable":true},"soato":{"type":"integer","example":172604},"is_active":{"type":"boolean","example":true},"state_id":{"type":"integer","example":1},"region":{"type":"object","nullable":true}},"type":"object"},"Agroteh_RegionResource":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati"},"name_uz":{"type":"string","example":"Toshkent viloyati"},"name_ru":{"type":"string","example":"\u0422\u0430\u0448\u043a\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"},"name_en":{"type":"string","example":"Tashkent region"},"code":{"type":"string","nullable":true},"series":{"description":"Traktor-mashinist guvohnomasi seriya prefiksi","type":"string","example":"UZ-AB","nullable":true},"soato":{"type":"integer","example":1727},"is_active":{"type":"boolean","example":true},"country_id":{"type":"integer","example":1},"country":{"type":"object","nullable":true}},"type":"object"},"RegistrationResource":{"properties":{"id":{"type":"integer","example":1},"action":{"type":"string","example":"regged"},"action_label":{"type":"string","example":"Ro'yxatga olish"},"status":{"type":"string","example":"active"},"status_label":{"type":"string","example":"Faol"},"reference_id":{"type":"string","example":"REG-001234"},"full_reference_id":{"type":"string","example":"2024\/REG-001234"},"date":{"type":"string","format":"date","example":"2024-01-15"},"days_since":{"description":"Ro'yxatga olinganidan beri kunlar","type":"integer"},"doc":{"type":"string","example":"Shartnoma"},"doc_note":{"type":"string","example":"Oldi-sotdi shartnomasi"},"note":{"type":"string","example":"Qo'shimcha ma'lumot"},"is_temporary":{"type":"boolean","example":false},"unfit":{"description":"Yaroqsiz texnika","type":"boolean","example":false},"unfit_reason":{"description":"Yaroqsizlik sababi","type":"string","nullable":true},"outof":{"description":"Ro'yxatdan chiqarilgan","type":"boolean","example":false},"outof_reason":{"description":"Ro'yxatdan chiqarish sababi","type":"string","nullable":true},"reregistered":{"description":"Qayta ro'yxatga olingan","type":"boolean","example":false},"total_amount":{"type":"number","example":150000},"paid_amount":{"description":"To'langan summa (tiyinda)","type":"integer","example":0},"discount":{"description":"Chegirma (tiyinda)","type":"integer","example":0},"payment_status":{"description":"To'lov holati","type":"string","nullable":true,"enum":["paid","partial","due"]},"vehicle":{"type":"object"},"customer":{"type":"object"},"invoice":{"description":"Bog'liq invoice","type":"object","nullable":true},"receiver":{"description":"Qabul qiluvchi ma'lumotlari","type":"object","nullable":true},"district":{"description":"Tuman ma'lumotlari","type":"object","nullable":true},"region":{"description":"Viloyat ma'lumotlari","type":"object","nullable":true},"city_id":{"type":"integer","example":10},"region_id":{"type":"integer","example":1},"user_id":{"type":"integer","example":1,"nullable":true},"attachments":{"description":"Biriktirilgan fayllar","type":"array","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"ServiceApplicationResource":{"properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"Yangi jihoz so'rovi"},"description":{"type":"string","nullable":true},"applicant_notes":{"type":"string","nullable":true},"type_id":{"type":"integer","example":1},"status_id":{"type":"integer","example":1},"user":{"type":"object","nullable":true},"files":{"type":"array","items":{"type":"object"}},"state_id":{"type":"integer","nullable":true},"deadline_date":{"type":"string","format":"date","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"StatistikaRequestResource":{"properties":{"id":{"description":"Statistika so'rov resursi","type":"integer","example":1},"request_data":{"description":"So'rov ma'lumotlari (JSON)","type":"object"},"response_data":{"description":"Javob ma'lumotlari (JSON)","type":"object","nullable":true},"status":{"type":"integer","example":0},"status_label":{"type":"string","example":"Yangi"},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"SubsidiyaRequestResource":{"properties":{"id":{"description":"Subsidiya so'rov resursi","type":"integer","example":1},"type_id":{"description":"1=texnika, 2=guvohnoma","type":"integer","example":1,"nullable":true},"type_label":{"type":"string","example":"Texnika ma'lumoti"},"status":{"type":"integer","example":0},"status_label":{"type":"string","example":"Yangi"},"request":{"type":"object","nullable":true},"response":{"type":"object","nullable":true},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"TechnicalPassportResource":{"description":"Texnik pasport \u2014 transport vositaning asosiy hujjati","properties":{"id":{"description":"TechnicalPassportResource - Texnik pasport\nuzagroteh-main technical-passport bilan bir xil","type":"integer","example":1},"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"series":{"description":"Seriya (pullik: UZ-AA, bepul: qo'lda kiritiladi)","type":"string","example":"UZ-AA"},"number":{"description":"Raqam (6 raqam, 0 bilan to'ldiriladi)","type":"string","example":"008685"},"passport_id":{"description":"To'liq raqam (series + \" \" + number)","type":"string","example":"UZ-AA 008685"},"action":{"description":"give \u2014 yangi berilgan, recover \u2014 qayta tiklangan","type":"string","enum":["give","recover"]},"action_label":{"description":"Action ning o'zbek tilidagi nomi","type":"string","example":"Yangi berilgan","nullable":true},"status":{"description":"Pasport holati","type":"string","example":"active","enum":["active","inactive"]},"is_active":{"description":"status=active?","type":"boolean","example":true},"is_expired":{"description":"expire_date < bugun?","type":"boolean","example":false},"days_left":{"description":"Qolgan kunlar (expire_date bo'lmasa null)","type":"integer","example":3650,"nullable":true},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-26"},"expire_date":{"description":"Amal qilish muddati","type":"string","format":"date","example":"2036-02-26","nullable":true},"doc":{"description":"Asos hujjat ID (documents jadvali)","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Asos hujjat izohi","type":"string","nullable":true},"note":{"description":"Alohida belgilar","type":"string","nullable":true},"recover_reason":{"description":"Qayta tiklash sababi (action=recover)","type":"string","nullable":true},"total_amount":{"description":"Xizmat narxi (so'm)","type":"number","example":150000,"nullable":true},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":150000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","example":"paid","nullable":true,"enum":["paid","free","pending","partial"]},"payment_date":{"description":"To'lov sanasi","type":"string","format":"date","example":"2026-02-26","nullable":true},"vehicle":{"description":"Transport vosita: {id, engineno, chassisno, made_year, brand: {id, name}, type: {id, name}}","type":"object","nullable":true},"customer":{"description":"Egasi (CustomerShortResource): {id, full_name, pinfl, inn, ...}","type":"object","nullable":true},"document":{"description":"Asos hujjat: {id, name}","type":"object","nullable":true},"user":{"description":"Yaratgan foydalanuvchi: {id, name}","type":"object","nullable":true},"transport_number":{"description":"Davlat raqami: {id, full_number, f_number}","type":"object","nullable":true},"created_at":{"type":"string","format":"date-time","example":"2026-02-26 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2026-02-26 10:30:00"}},"type":"object"},"TmResource":{"description":"TM-1 ma'lumotnoma resursi. MUHIM: tbl_tms jadvalida payment column (invoice_id emas!), is_used boolean (status emas!)","properties":{"id":{"type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"owner_id":{"type":"integer","example":1},"user_id":{"type":"integer","example":1},"payment":{"description":"Invoice ID (payment column)","type":"integer","example":1},"number":{"type":"integer","example":12345},"date":{"type":"string","format":"date","example":"2024-06-15"},"expire_date":{"description":"Amal qilish muddati (date + 10 kun)","type":"string","format":"date","example":"2024-06-25"},"days_left":{"description":"Qolgan kunlar soni","type":"integer","example":7},"status":{"type":"string","example":"active","enum":["active","used","expired","cancelled"]},"status_label":{"type":"string","example":"Faol"},"is_active":{"type":"boolean","example":true},"is_expired":{"type":"boolean","example":false},"is_used":{"type":"boolean","example":false},"is_cancelled":{"type":"boolean","example":false},"used_at":{"type":"string","format":"date-time","example":"2024-06-20 10:30:00","nullable":true},"used_type":{"type":"integer","example":1},"used_type_label":{"type":"string","example":"Umumiy"},"vehicle":{"type":"object","example":null},"customer":{"type":"object","example":null},"user":{"type":"object","example":null},"created_at":{"type":"string","format":"date-time","example":"2024-06-15T10:00:00+05:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-06-15T10:00:00+05:00"}},"type":"object"},"TransportNumberResource":{"description":"Davlat raqami resursi \u2014 transport vosita, mijoz, hujjat va to'lov ma'lumotlari bilan","properties":{"id":{"description":"TransportNumberResource - Davlat raqami\nuzagroteh-main transport-number bilan bir xil","type":"integer","example":1},"vehicle_id":{"description":"Transport vosita ID","type":"integer","example":1},"owner_id":{"description":"Egasi (mijoz) ID","type":"integer","example":1},"code":{"description":"Viloyat kodi","type":"string","example":"01","nullable":true},"series":{"description":"Seriya (katta lotin harflari, 1-4 ta)","type":"string","example":"AB"},"number":{"description":"Raqam (faqat raqamlar, 1-7 ta)","type":"string","example":"777"},"full_number":{"description":"To'liq raqam (probel bilan): code + series + number","type":"string","example":"01 AB 777"},"f_number":{"description":"Qisqa raqam (probelisiz): code + series + number","type":"string","example":"01AB777"},"type":{"description":"1=yuridik o'ziyurar, 2=jismoniy o'ziyurar, 3=yuridik tirkama, 4=jismoniy tirkama","type":"string","example":"1","enum":["1","2","3","4"]},"type_label":{"description":"Raqam turi nomi","type":"string","example":"Yuridik shaxs o'ziyurar texnika","nullable":true},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-25"},"status":{"description":"Holati","type":"string","example":"active","enum":["active","inactive","cancelled"]},"action":{"description":"Amal turi","type":"string","example":"give","nullable":true,"enum":["give","recover"]},"action_label":{"description":"Amal turi nomi","type":"string","example":"Berish","nullable":true},"recover_reason":{"description":"Qayta berish sababi (action=recover bo'lganda)","type":"string","example":"Yo'qotilganligi sababli","nullable":true},"total_amount":{"description":"Umumiy summa (so'm)","type":"number","example":150000,"nullable":true},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":150000,"nullable":true},"payment_status":{"description":"To'lov holati","type":"string","example":"paid","nullable":true,"enum":["pending","paid","partial"]},"payment_date":{"description":"To'lov sanasi","type":"string","format":"date","example":"2026-02-25","nullable":true},"doc":{"description":"Asos hujjat ID","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Hujjat izohi","type":"string","example":"Oldi-sotdi shartnomasi","nullable":true},"state_id":{"description":"Viloyat ID (tbl_states)","type":"integer","example":1,"nullable":true},"vehicle":{"description":"Transport vosita (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"engineno":{"type":"string","example":"D4CB1234567","nullable":true},"chassisno":{"type":"string","example":"XWB3K32EDNA123456","nullable":true},"made_year":{"type":"integer","example":2022,"nullable":true},"brand":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"MTZ-80"}},"type":"object","nullable":true}},"type":"object","nullable":true},"customer":{"description":"Mijoz (CustomerShortResource, eager load qilinganda)","type":"object","nullable":true},"region":{"description":"Viloyat (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati"}},"type":"object","nullable":true},"document":{"description":"Asos hujjat (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Oldi-sotdi shartnomasi"}},"type":"object","nullable":true},"user":{"description":"Yaratgan xodim (eager load qilinganda)","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Karimov Alisher"}},"type":"object","nullable":true},"created_at":{"type":"string","format":"date-time","example":"2026-02-25 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2026-02-25 10:30:00"}},"type":"object"},"VehicleResource":{"properties":{"id":{"description":"VehicleResource - Texnika ma'lumotlari\nMUHIM: Column nomlari eski MySQL bilan bir xil!\nuzagroteh-main vehicle\/show bilan bir xil","type":"integer","example":1},"type":{"type":"string","example":"vehicle"},"type_label":{"type":"string","example":"Transport vosita"},"status":{"type":"string","example":"regged"},"status_label":{"type":"string","example":"Ro'yxatdan o'tgan"},"state":{"type":"string","example":"unlock"},"condition":{"type":"string","example":"fit"},"engine_no":{"type":"string","example":"ABC123456"},"chassis_no":{"type":"string","example":"XYZ789012"},"corpus_no":{"type":"string","example":"CRP123456"},"factory_number":{"type":"string","example":"FN123456"},"engine_size":{"type":"string","example":"4.75"},"model_year":{"type":"integer","example":2023},"weight":{"type":"string","example":"3500"},"weight_full":{"type":"string","example":"5000"},"lising":{"type":"boolean"},"gps":{"type":"boolean"},"is_locked":{"type":"boolean","example":false},"has_prohibition":{"type":"boolean","example":false},"region_id":{"type":"integer","example":1},"district_id":{"type":"integer","example":10},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"VehicleCertificateResource":{"description":"Texnik guvohnoma \u2014 agregatlar uchun texnik hujjat (transport vosita\/tirkama uchun TechnicalPassport ishlatiladi)","properties":{"id":{"description":"VehicleCertificateResource - Texnik guvohnoma (agregatlar uchun)\nuzagroteh-main certificate bilan bir xil","type":"integer","example":1},"vehicle_id":{"description":"Agregat ID (tbl_vehicles)","type":"integer","example":9},"owner_id":{"description":"Egasi (mijoz) ID (customers)","type":"integer","example":5},"series":{"description":"Seriya (pullik: UZ-AA avtomatik, bepul: qo'lda kiritiladi)","type":"string","example":"UZ-AA"},"number":{"description":"Raqam (6 raqam, 0 bilan to'ldiriladi). 8682-8709 raqamlar o'tkazib yuboriladi","type":"string","example":"008710"},"certificate_id":{"description":"To'liq raqam probelsiz (series + number)","type":"string","example":"UZ-AA008710"},"full_number":{"description":"To'liq raqam probel bilan (series + \\\" \\\" + number)","type":"string","example":"UZ-AA 008710"},"action":{"description":"give \u2014 yangi berilgan, recover \u2014 qayta tiklangan","type":"string","enum":["give","recover"]},"action_label":{"description":"Action ning o'zbek tilidagi nomi","type":"string","example":"Yangi berilgan","nullable":true},"status":{"description":"Guvohnoma holati","type":"string","example":"active","enum":["active","inactive"]},"is_active":{"description":"status=active?","type":"boolean","example":true},"is_expired":{"description":"expire_date < bugun?","type":"boolean","example":false},"days_left":{"description":"Qolgan kunlar (expire_date bo'lmasa null)","type":"integer","example":3650,"nullable":true},"given_date":{"description":"Berilgan sana","type":"string","format":"date","example":"2026-02-26"},"expire_date":{"description":"Amal qilish muddati","type":"string","format":"date","example":"2036-02-26","nullable":true},"doc":{"description":"Asos hujjat ID (documents jadvali). free_service=true bo'lsa bepul xizmat","type":"integer","example":1,"nullable":true},"doc_note":{"description":"Asos hujjat izohi","type":"string","nullable":true},"note":{"description":"Alohida belgilar \/ bekor qilish sababi","type":"string","nullable":true},"recover_reason":{"description":"Qayta tiklash sababi (action=recover)","type":"string","nullable":true},"total_amount":{"description":"Xizmat narxi (so'm)","type":"number","example":80000,"nullable":true},"paid_amount":{"description":"To'langan summa (so'm)","type":"number","example":80000,"nullable":true},"payment_status":{"description":"To'lov holati: paid=to'langan, free=bepul, pending=kutilmoqda, partial=qisman","type":"string","example":"paid","nullable":true,"enum":["paid","free","pending","partial"]},"payment_date":{"description":"To'lov sanasi","type":"string","format":"date","example":"2026-02-26","nullable":true},"vehicle":{"description":"Agregat: VehicleResource (id, engineno, chassisno, made_year, brand, type)","type":"object","nullable":true},"customer":{"description":"Egasi: CustomerShortResource (id, full_name, pinfl, inn, ...)","type":"object","nullable":true},"document":{"description":"Asos hujjat: {id, name}","type":"object","nullable":true},"user":{"description":"Yaratgan foydalanuvchi: {id, name}","type":"object","nullable":true},"created_at":{"type":"string","format":"date-time","example":"2026-02-26 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2026-02-26 10:30:00"}},"type":"object"},"VehicleLockerResource":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Ichki ishlar vazirligi"},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"VehicleProhibitionResource":{"properties":{"id":{"description":"VehicleProhibitionResource - Texnika taqiqlari\nuzagroteh-main vehicle_lock bilan bir xil","type":"integer","example":1},"vehicle_id":{"type":"integer","example":1},"owner_id":{"type":"integer","example":1},"locker_id":{"type":"integer","example":1},"action":{"type":"string","enum":["lock","unlock"]},"action_label":{"type":"string","nullable":true},"status":{"type":"string","example":"active"},"status_label":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"order_number":{"type":"string","nullable":true},"order_date":{"type":"string","format":"date","nullable":true},"letter_number":{"type":"string","nullable":true},"letter_date":{"type":"string","format":"date","nullable":true},"external_ban_id":{"type":"integer","nullable":true},"date":{"type":"string","format":"date","example":"2024-01-15"},"is_active":{"type":"boolean","example":true},"is_lock":{"type":"boolean","example":true},"vehicle":{"type":"object"},"customer":{"type":"object"},"locker":{"type":"object"},"attachments":{"description":"Biriktirilgan fayllar (reason-file)","type":"array","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"YidxpApplicationResource":{"properties":{"id":{"type":"integer","example":1},"epigu_task_id":{"type":"string","example":"12345678"},"service_target":{"type":"integer","example":1},"service_target_label":{"type":"string","example":"Yangi ro'yxatdan o'tkazish"},"task_status":{"type":"string","example":"new"},"status_label":{"type":"string","example":"Yangi"},"applicant_type":{"type":"string","example":"I"},"applicant_name":{"type":"string","example":"Abdullayev Jasur"},"applicant_tax_id":{"type":"string","example":"123456789"},"technic_name":{"type":"string","example":"Traktor"},"technic_model":{"type":"string","example":"MTZ-80"},"payment_amount":{"type":"number","example":150000},"payment_status":{"type":"string","example":"paid"},"is_paid":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time","example":"2024-01-15 10:30:00"}},"type":"object"},"ApplicationFileResource":{"title":"Application File Resource","description":"Ariza fayl response modeli","properties":{"id":{"type":"integer","example":1},"path":{"type":"string","example":"admin\/applications\/1\/abc123.pdf"},"url":{"type":"string","example":"https:\/\/gateway-agrosert.simplex.uz\/api\/v1\/admin-files\/admin\/applications\/1\/abc123.pdf"},"filename":{"type":"string","example":"ariza.pdf"},"size":{"type":"integer","example":102400},"mime_type":{"type":"string","example":"application\/pdf"},"sort_order":{"type":"integer","example":0}},"type":"object"},"ApplicationResource":{"title":"Application Resource","description":"Ariza response modeli","properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"Jihozni ta'mirlash arizasi"},"description":{"type":"string","example":"Printer ishlamayapti","nullable":true},"deadline_date":{"type":"string","format":"date","example":"2026-04-01","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"ApplicationStatusResource":{"title":"Application Status Resource","description":"Ariza status response modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yangi"},"color":{"type":"string","example":"#28a745","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"ApplicationTypeResource":{"title":"Application Type Resource","description":"Ariza turi response modeli","properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"Jihozni ta'mirlash"},"deadline_days":{"type":"integer","example":7,"nullable":true},"kpi_effect":{"type":"string","example":"benefit"},"kpi_effect_label":{"type":"string","example":"Foyda"},"description":{"type":"string","example":"Jihozni ta'mirlash uchun ariza","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"AssetCategoryResource":{"title":"Asset Category Resource","description":"Aktiv kategoriya response modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Kompyuter texnikasi"},"parent_id":{"type":"integer","example":null,"nullable":true},"parent":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Texnikalar"}},"type":"object","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"AssetImageResource":{"title":"Asset Image Resource","description":"Aktiv rasm response modeli","properties":{"id":{"type":"integer","example":1},"path":{"type":"string","example":"admin\/assets\/1\/abc123.jpg"},"url":{"type":"string","example":"https:\/\/gateway-agrosert.simplex.uz\/api\/v1\/admin-files\/admin\/assets\/1\/abc123.jpg"},"filename":{"type":"string","example":"abc123.jpg"},"size":{"type":"integer","example":102400},"mime_type":{"type":"string","example":"image\/jpeg"},"sort_order":{"type":"integer","example":0}},"type":"object"},"AssetResource":{"title":"Asset Resource","description":"Aktiv response modeli","properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"Dell Monitor 24\""},"description":{"type":"string","example":"IT bo'lim uchun monitor","nullable":true},"inventory_number":{"type":"string","example":"INV-000123"},"serial_number":{"type":"string","example":"SN-ABC-1234","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"AssetStatusResource":{"title":"Asset Status Resource","description":"Aktiv status response modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Foydalanishda"},"color":{"type":"string","example":"#28a745","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"AuditLogResource":{"title":"Audit Log Resource","description":"Audit log response modeli","properties":{"id":{"type":"integer","example":1},"service":{"type":"string","example":"inspector-service"},"service_label":{"type":"string","example":"Inspector service"},"event":{"type":"string","example":"inspector_crop_type.created"},"action":{"type":"string","example":"created"},"action_label":{"type":"string","example":"Yaratildi"},"entity_type":{"type":"string","example":"CropType"},"entity_id":{"type":"integer","example":5,"nullable":true},"user_id":{"type":"integer","example":1,"nullable":true},"user_name":{"type":"string","example":"Abdulloh","nullable":true},"user_role":{"type":"string","example":"admin","nullable":true},"user_department":{"type":"string","example":"AKT bo'limi","nullable":true},"data":{"type":"object","example":"{\"crop_type_id\": 5}","nullable":true},"old_values":{"type":"object","example":"{\"name\": \"Ali\"}","nullable":true},"new_values":{"type":"object","example":"{\"name\": \"Vali\"}","nullable":true},"changes_summary":{"type":"array","items":{"type":"object"},"nullable":true},"ip_address":{"type":"string","example":"192.168.1.1","nullable":true},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"DepartmentResource":{"title":"Department Resource","description":"Bo'lim response modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"IT bo'limi"},"is_active":{"type":"boolean","example":true},"region_code":{"type":"string","example":"17","nullable":true},"district_code":{"type":"string","example":"04","nullable":true},"dept_code":{"type":"string","example":"03","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"PermissionGroupResource":{"title":"Permission Group","properties":{"key":{"type":"string","example":"users"},"name":{"properties":{"uz":{"type":"string"},"ru":{"type":"string"},"en":{"type":"string"}},"type":"object"},"icon":{"type":"string","example":"fa-users"},"permissions":{"type":"array","items":{"$ref":"#\/components\/schemas\/PermissionResource"}}},"type":"object"},"PermissionResource":{"title":"Permission","properties":{"name":{"type":"string","example":"users-view"},"label":{"properties":{"uz":{"type":"string"},"ru":{"type":"string"},"en":{"type":"string"}},"type":"object"}},"type":"object"},"PositionResource":{"title":"Position Resource","description":"Lavozim response modeli","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Bosh mutaxassis"},"department":{"description":"Bo'lim","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"IT bo'lim"}},"type":"object","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"RoleResource":{"title":"Role Resource","description":"Role response model","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"admin"},"guard_name":{"type":"string","example":"api"},"is_admin":{"type":"boolean","example":true},"users_count":{"type":"integer","example":5},"permissions":{"type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"TechnicalServiceResource":{"title":"Technical Service Resource","description":"Texnik xizmat ko'rsatish response modeli. Har bir texnik xizmat hudud, bo'lim va habarnoma turiga ega.","properties":{"id":{"description":"Texnik xizmat ID","type":"integer","example":1},"state":{"description":"Hudud ma'lumotlari","properties":{"id":{"description":"Hudud ID","type":"integer","example":1},"name":{"description":"Hudud nomi","type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"department":{"description":"Bo'lim ma'lumotlari","properties":{"id":{"description":"Bo'lim ID","type":"integer","example":1},"name":{"description":"Bo'lim nomi","type":"string","example":"IT bo'limi"}},"type":"object","nullable":true},"description":{"description":"Texnik xizmat tavsifi","type":"string","example":"Texnik xizmat tavsifi"},"notification_type":{"description":"Habarnoma turi kodi. Qiymatlari: muhim \u2014 Muhim xabarnoma (yuqori darajali), ogohlantirish \u2014 Ogohlantirish xabarnomasi (o'rta darajali), xabarnoma \u2014 Oddiy xabarnoma (past darajali)","type":"string","example":"muhim","enum":["muhim","ogohlantirish","xabarnoma"]},"notification_type_label":{"description":"Habarnoma turining o'zbek tilidagi nomi (foydalanuvchiga ko'rsatish uchun). Qiymatlari: Muhim, Ogohlantirish, Xabarnoma","type":"string","example":"Muhim"},"is_active":{"description":"Faollik holati","type":"boolean","example":true},"created_at":{"description":"Yaratilgan vaqti","type":"string","format":"date-time","example":"2026-03-12T10:00:00+05:00"},"updated_at":{"description":"Yangilangan vaqti","type":"string","format":"date-time","example":"2026-03-12T10:00:00+05:00"}},"type":"object"},"UserListResource":{"title":"User List Resource","description":"Foydalanuvchilar ro'yxati uchun qisqa model","properties":{"id":{"type":"integer","example":1},"jshshir":{"type":"string","example":"12345678901234","nullable":true},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"email":{"type":"string","format":"email","example":"ali@agroin.uz"},"phone":{"type":"string","example":"+998901234567","nullable":true},"state":{"description":"Viloyat","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati"}},"type":"object","nullable":true},"city":{"description":"Tuman","properties":{"id":{"type":"integer","example":10},"name":{"type":"string","example":"Chirchiq tumani"}},"type":"object","nullable":true},"department":{"description":"Bo'lim","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"IT bo'lim"}},"type":"object","nullable":true},"position":{"description":"Lavozim","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Bosh mutaxassis"}},"type":"object","nullable":true},"is_active":{"description":"Holati","type":"boolean","example":true},"role_names":{"description":"Lavozim","type":"array","items":{"type":"string"},"example":["registrator"]}},"type":"object"},"UserResource":{"title":"User Resource","description":"Foydalanuvchi response modeli","properties":{"id":{"type":"integer","example":1},"jshshir":{"description":"JSHSHIR (14 raqam)","type":"string","example":"12345678901234","nullable":true},"full_name":{"description":"Familiya Ism Sharif","type":"string","example":"Valiyev Ali Karimovich"},"name":{"description":"Ism","type":"string","example":"Ali"},"lastname":{"description":"Familiya","type":"string","example":"Valiyev"},"middle_name":{"description":"Sharif (otasining ismi)","type":"string","example":"Karimovich","nullable":true},"passport_series":{"description":"Pasport seriya","type":"string","example":"AA","nullable":true},"passport_number":{"description":"Pasport raqam","type":"string","example":"1234567","nullable":true},"birth_date":{"type":"string","format":"date","example":"1990-01-15","nullable":true},"birth_place_id":{"description":"Tug'ilgan joy (tuman ID)","type":"integer","example":10,"nullable":true},"phone":{"type":"string","example":"+998901234567","nullable":true},"email":{"type":"string","format":"email","example":"ali@agroin.uz"},"image":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"is_active":{"type":"boolean","example":true},"state_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"city_id":{"description":"Tuman ID","type":"integer","example":10,"nullable":true},"department_id":{"description":"Bo'lim ID","type":"integer","example":1,"nullable":true},"department":{"oneOf":[{"$ref":"#\/components\/schemas\/DepartmentResource"}],"nullable":true},"position_id":{"description":"Lavozim ID","type":"integer","example":1,"nullable":true},"position":{"oneOf":[{"$ref":"#\/components\/schemas\/PositionResource"}],"nullable":true},"roles":{"type":"array","items":{"$ref":"#\/components\/schemas\/RoleResource"}},"role_names":{"type":"array","items":{"type":"string"},"example":["registrator"]},"permission_names":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"CottonConclusionRequest":{"title":"CottonConclusionRequest","description":"Paxta arbitraj guruhi xulosasi - so'rov modeli","required":["arbitraj_group_number","region_id","district_id","users[]"],"properties":{"arbitraj_group_number":{"type":"string","example":"1"},"conclusion_number":{"type":"string","example":"15","nullable":false},"region_id":{"type":"integer","example":3},"district_id":{"type":"integer","example":12},"reweight_date":{"type":"string","format":"date","example":"2026-03-10","nullable":false},"organization_stir":{"description":"Klaster\/kooperatsiya STIR raqami","type":"string","example":"305678912","nullable":false},"organization_name":{"type":"string","example":"Buxoro klaster MChJ","nullable":false},"facility_name":{"type":"string","example":"Kogon paxta tozalash zavodi","nullable":false},"organization_representative_full_name":{"description":"Klaster\/kooperatsiya vakili","type":"string","example":"Toshmatov A.B.","nullable":false},"appealing_organization_type":{"type":"string","example":"cotton_claster","nullable":false,"enum":["cotton_claster","farm"]},"farmer_stir":{"description":"Fermer STIR raqami (9 raqam)","type":"integer","example":123456789,"nullable":true},"farmer_name":{"type":"string","example":"Ahmadov fermer xo'jaligi","nullable":true},"farmer_representive_fullname":{"description":"Fermer vakili to'liq ismi","type":"string","example":"Ahmadov B.T.","nullable":true},"appeal_date":{"type":"string","format":"date","example":"2026-03-08","nullable":false},"conflict_indicator":{"description":"Nizoli ko'rsatkichlar massivi (iflosligi, namligi, fizik vazni)","type":"array","items":{"type":"string","example":"iflosligi"},"nullable":false},"sampled_by":{"type":"string","example":"transport vositasidan","nullable":false},"standards":{"type":"string","example":"O'zMSt 604, ....","nullable":false},"laborant_or_mudir":{"type":"string","example":"laborant","nullable":false,"enum":["laborant","mudir","laboranti","mudiri"]},"laborant_or_mudir_full_name":{"type":"string","example":"Karimov S.T.","nullable":false},"cotton_selection":{"type":"string","example":"Sulton","nullable":false},"picking_type":{"type":"string","example":"by_hand","nullable":false,"enum":["by_hand","by_machine"]},"trailer_number":{"type":"string","example":"3517","nullable":false},"cotton_sort[initial]":{"description":"Dastlabki - paxta navi","type":"string","example":"1","nullable":false},"cotton_sort[arbitraj]":{"description":"Arbitraj - paxta navi","type":"string","example":"1","nullable":false},"cotton_sort[result]":{"description":"Natijasi","type":"string","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]},"cotton_grade[initial]":{"description":"Dastlabki - klass","type":"string","example":"2","nullable":false},"cotton_grade[arbitraj]":{"description":"Arbitraj - klass","type":"string","example":"2","nullable":false},"cotton_grade[result]":{"description":"Natijasi","type":"string","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]},"impurity[initial]":{"description":"Dastlabki - iflosligi","type":"number","example":3.8,"nullable":false},"impurity[arbitraj]":{"description":"Arbitraj - iflosligi","type":"number","example":3.9,"nullable":false},"impurity[result]":{"description":"Natijasi","type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]},"moisture[initial]":{"description":"Dastlabki - namligi","type":"number","example":6.4,"nullable":false},"moisture[arbitraj]":{"description":"Arbitraj - namligi","type":"number","example":6.4,"nullable":false},"moisture[result]":{"description":"Natijasi","type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]},"conditioning_weight[initial]":{"description":"Dastlabki - konditsion og'irligi (kg)","type":"number","example":3250,"nullable":false},"conditioning_weight[arbitraj]":{"description":"Arbitraj - konditsion og'irligi (kg)","type":"number","example":3150,"nullable":false},"conditioning_weight[result]":{"description":"Natijasi","type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]},"comment":{"type":"string","example":"for_farmer","nullable":false,"enum":["for_farmer","for_enterprise"]},"denial_of_signing":{"type":"boolean","example":false,"nullable":false},"users[]":{"description":"Arbitraj guruhi a'zolari ID lari","type":"array","items":{"type":"integer","example":1}},"files[application_letter][]":{"description":"Ariza xati fayllari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"},"CottonConclusionResponse":{"title":"CottonConclusionResponse","description":"Paxta arbitraj guruhi xulosasi - javob modeli","properties":{"id":{"type":"integer","readOnly":true,"example":1},"arbitraj_group_number":{"type":"string","example":"1"},"conclusion_number":{"type":"string","example":"15","nullable":false},"region_id":{"type":"integer","example":3},"region":{"type":"string","readOnly":true,"example":"Buxoro viloyati"},"district_id":{"type":"integer","example":12},"district":{"type":"string","readOnly":true,"example":"Kogon tumani"},"reweight_date":{"type":"string","format":"date","example":"2026-03-10","nullable":false},"organization_stir":{"type":"string","example":"305678912","nullable":false},"organization_name":{"type":"string","example":"Buxoro klaster MChJ","nullable":false},"facility_name":{"type":"string","example":"Kogon paxta tozalash zavodi","nullable":false},"organization_representative_full_name":{"type":"string","example":"Toshmatov A.B.","nullable":false},"appealing_organization_type":{"type":"string","example":"cotton_claster","nullable":false,"enum":["cotton_claster","farm"]},"farmer_stir":{"type":"integer","example":123456789,"nullable":true},"farmer_name":{"type":"string","example":"Ahmadov fermer xo'jaligi","nullable":true},"farmer_representive_fullname":{"type":"string","example":"Ahmadov B.T.","nullable":true},"appeal_date":{"type":"string","format":"date","example":"2026-03-08","nullable":false},"conflict_indicator":{"description":"Nizoli ko'rsatkichlar massivi","type":"array","items":{"type":"string","example":"iflosligi"},"nullable":false},"sampled_by":{"type":"string","example":"transport vositasidan","nullable":false},"standards":{"type":"string","example":"O'zMSt 604","nullable":false},"laborant_or_mudir":{"type":"string","example":"laborant","nullable":false,"enum":["laborant","mudir","laboranti","mudiri"]},"laborant_or_mudir_full_name":{"type":"string","example":"Karimov S.T.","nullable":false},"cotton_selection":{"type":"string","example":"Sulton","nullable":false},"picking_type":{"type":"string","example":"by_hand","nullable":false,"enum":["by_hand","by_machine"]},"trailer_number":{"type":"string","example":"3517","nullable":false},"cotton_sort":{"description":"Paxta navi","properties":{"initial":{"type":"string","example":"1","nullable":false},"arbitraj":{"type":"string","example":"1","nullable":false},"result":{"type":"string","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]}},"type":"object","nullable":false},"cotton_grade":{"description":"Paxta klassi","properties":{"initial":{"type":"string","example":"2","nullable":false},"arbitraj":{"type":"string","example":"2","nullable":false},"result":{"type":"string","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]}},"type":"object","nullable":false},"impurity":{"description":"Iflosligi (%)","properties":{"initial":{"type":"number","example":3.8,"nullable":false},"arbitraj":{"type":"number","example":3.9,"nullable":false},"result":{"type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]}},"type":"object","nullable":false},"moisture":{"description":"Namligi (%)","properties":{"initial":{"type":"number","example":6.4,"nullable":false},"arbitraj":{"type":"number","example":6.4,"nullable":false},"result":{"type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]}},"type":"object","nullable":false},"conditioning_weight":{"description":"Konditsion og'irligi (kg)","properties":{"initial":{"type":"number","example":3250,"nullable":false},"arbitraj":{"type":"number","example":3150,"nullable":false},"result":{"type":"number","example":"o'zgardi","nullable":false,"enum":["o'zgardi","o'zgarmadi"]}},"type":"object","nullable":false},"comment":{"type":"string","example":"for_farmer","nullable":false,"enum":["for_farmer","for_enterprise"]},"denial_of_signing":{"type":"boolean","example":false,"nullable":false},"status":{"type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"members":{"description":"Arbitraj guruhi a'zolari (F.I.Sh. va lavozimi)","type":"array","items":{"properties":{"full_name":{"type":"string","example":"Ahmadov Anvar"},"position":{"type":"string","example":"Mobil arbitraj guruhi rahbari"}},"type":"object"}},"file_path":{"type":"string","readOnly":true,"example":"pdf\/cotton-conclusions\/paxta-arbitraj-xulosa-1.pdf","nullable":false},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/cotton-conclusions\/paxta-arbitraj-xulosa-1.pdf","nullable":false},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-03-12 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-03-12 14:30:00"},"files":{"properties":{"application_letter":{"description":"Ariza xati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object","readOnly":true,"nullable":true}},"type":"object"},"GrainConclusionRequest":{"title":"GrainConclusionRequest","description":"Don arbitraj guruhi xulosasi - so'rov modeli","required":["arbitraj_group_number","region_id","district_id","users[]"],"properties":{"arbitraj_group_number":{"type":"string","example":"1"},"conclusion_number":{"type":"string","example":"15","nullable":true},"region_id":{"type":"integer","example":3},"district_id":{"type":"integer","example":12},"stir":{"description":"Korxona STIR raqami","type":"integer","example":305678912,"nullable":true},"enterprise_name":{"description":"Korxona nomi","type":"string","example":"BUXORO DON MAHSULOTLARI MChJ","nullable":true},"reweight_date":{"type":"string","format":"date","example":"2026-03-10","nullable":true},"claster_cooperation_name":{"type":"string","example":"Buxoro g'allachilik klasteri MChJ","nullable":true},"facility_name":{"type":"string","example":"Kogon don qabul shaxobchasi","nullable":true},"representative_name":{"type":"string","example":"Toshmatov A.B.","nullable":true},"appeal_date":{"type":"string","format":"date","example":"2026-03-08","nullable":true},"conflict_indicator":{"description":"Nizoli ko'rsatkichlar (array)","type":"array","items":{"type":"string","example":"namligi"},"nullable":true},"sampled_by":{"description":"Namuna qayerdan olingan","type":"string","example":"transport vositasidan","nullable":true},"standards":{"type":"string","example":"GOST 13586.3-83, O'zDST 880:2015","nullable":true},"laborant_or_mudir":{"description":"Laborant yoki mudir (laborant = laboratoriya xodimi, mudir = boshqaruvchi)","type":"string","example":"laborant","nullable":true,"enum":["laborant","mudir","laboranti","mudiri"]},"laborant_or_mudir_full_name":{"type":"string","example":"Karimov S.T.","nullable":true},"initial_lab_results[class]":{"description":"Dastlabki laboratoriya - sinf","type":"string","example":"3-sinf","nullable":true},"initial_lab_results[impurity]":{"description":"Dastlabki laboratoriya - aralashma","type":"number","example":2.5,"nullable":true},"initial_lab_results[moisture]":{"description":"Dastlabki laboratoriya - namlik","type":"number","example":13.2,"nullable":true},"initial_lab_results[kleykovina_amount]":{"description":"Dastlabki laboratoriya - kleykovina miqdori","type":"number","example":28,"nullable":true},"initial_lab_results[natura]":{"description":"Dastlabki laboratoriya - natura","type":"number","example":780,"nullable":true},"initial_lab_results[cereal_mixtures]":{"description":"Dastlabki laboratoriya - don aralashmalari","type":"number","example":1.5,"nullable":true},"initial_lab_results[pest_infestation_level]":{"description":"Dastlabki laboratoriya - zararkunandalar darajasi","type":"string","example":"zararlangan","nullable":true},"arbitraj_lab_results[class]":{"description":"Arbitraj laboratoriya - sinf","type":"string","example":"3-sinf","nullable":true},"arbitraj_lab_results[impurity]":{"description":"Arbitraj laboratoriya - aralashma","type":"number","example":2.3,"nullable":true},"arbitraj_lab_results[moisture]":{"description":"Arbitraj laboratoriya - namlik","type":"number","example":13,"nullable":true},"arbitraj_lab_results[kleykovina_amount]":{"description":"Arbitraj laboratoriya - kleykovina miqdori","type":"number","example":28.5,"nullable":true},"arbitraj_lab_results[natura]":{"description":"Arbitraj laboratoriya - natura","type":"number","example":785,"nullable":true},"arbitraj_lab_results[cereal_mixtures]":{"description":"Arbitraj laboratoriya - don aralashmalari","type":"number","example":1.2,"nullable":true},"arbitraj_lab_results[pest_infestation_level]":{"description":"Arbitraj laboratoriya - zararkunandalar darajasi","type":"string","example":"zararlangan","nullable":true},"comment":{"description":"Xulosa (for_farmer = fermer foydasiga, for_enterprise = korxona foydasiga)","type":"string","example":"for_farmer","nullable":true,"enum":["for_farmer","for_enterprise"]},"denial_of_signing":{"type":"boolean","example":false,"nullable":true},"users[]":{"description":"Arbitraj guruhi a'zolari ID lari","type":"array","items":{"type":"integer","example":1}},"files[application_letter][]":{"description":"Ariza xati fayllari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"},"GrainConclusionResponse":{"title":"GrainConclusionResponse","description":"Don arbitraj guruhi xulosasi - javob modeli","properties":{"id":{"type":"integer","readOnly":true,"example":1},"arbitraj_group_number":{"type":"string","example":"1"},"conclusion_number":{"type":"string","example":"15","nullable":true},"region_id":{"type":"integer","example":3},"region":{"description":"Viloyat nomi","type":"string","readOnly":true,"example":"Buxoro viloyati"},"district_id":{"type":"integer","example":12},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Kogon tumani"},"stir":{"description":"Korxona STIR raqami","type":"integer","example":305678912,"nullable":true},"enterprise_name":{"description":"Korxona nomi","type":"string","example":"BUXORO DON MAHSULOTLARI MChJ","nullable":true},"reweight_date":{"type":"string","format":"date","example":"2026-03-10","nullable":true},"claster_cooperation_name":{"type":"string","example":"Buxoro g'allachilik klasteri MChJ","nullable":true},"facility_name":{"type":"string","example":"Kogon don qabul shaxobchasi","nullable":true},"representative_name":{"type":"string","example":"Toshmatov A.B.","nullable":true},"appeal_date":{"type":"string","format":"date","example":"2026-03-08","nullable":true},"conflict_indicator":{"description":"Nizoli ko'rsatkichlar (array)","type":"array","items":{"type":"string","example":"namligi"},"nullable":true},"sampled_by":{"description":"Namuna qayerdan olingan","type":"string","example":"transport vositasidan","nullable":true},"standards":{"type":"string","example":"GOST 13586.3-83, O'zDST 880:2015","nullable":true},"laborant_or_mudir":{"description":"Laborant yoki mudir (laborant = laboratoriya xodimi, mudir = boshqaruvchi)","type":"string","example":"laborant","nullable":true,"enum":["laborant","mudir","laboranti","mudiri"]},"laborant_or_mudir_full_name":{"type":"string","example":"Karimov S.T.","nullable":true},"initial_lab_results":{"description":"Dastlabki laboratoriya tahlil natijalari","properties":{"class":{"type":"string","example":"3-sinf","nullable":true},"impurity":{"type":"number","example":2.5,"nullable":true},"moisture":{"type":"number","example":13.2,"nullable":true},"kleykovina_amount":{"type":"number","example":28,"nullable":true},"natura":{"type":"number","example":780,"nullable":true},"cereal_mixtures":{"type":"number","example":1.5,"nullable":true},"pest_infestation_level":{"type":"string","example":"zararlangan","nullable":true}},"type":"object","nullable":true},"arbitraj_lab_results":{"description":"Arbitraj usulida qayta o'tkazilgan laboratoriya tahlil natijalari","properties":{"class":{"type":"string","example":"3-sinf","nullable":true},"impurity":{"type":"number","example":2.3,"nullable":true},"moisture":{"type":"number","example":13,"nullable":true},"kleykovina_amount":{"type":"number","example":28.5,"nullable":true},"natura":{"type":"number","example":785,"nullable":true},"cereal_mixtures":{"type":"number","example":1.2,"nullable":true},"pest_infestation_level":{"type":"string","example":"zararlangan","nullable":true}},"type":"object","nullable":true},"comment":{"description":"Xulosa (for_farmer = fermer foydasiga, for_enterprise = korxona foydasiga)","type":"string","example":"for_farmer","nullable":true,"enum":["for_farmer","for_enterprise"]},"denial_of_signing":{"type":"boolean","example":false,"nullable":true},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"users":{"description":"Arbitraj guruhi a'zolari","type":"array","items":{"$ref":"#\/components\/schemas\/User"}},"file_path":{"type":"string","readOnly":true,"example":"pdf\/grain-conclusions\/don-arbitraj-xulosa-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/grain-conclusions\/don-arbitraj-xulosa-1.pdf","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-03-12 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-03-12 14:30:00"},"files":{"description":"Yuklangan fayllar (collection nomi bo'yicha guruplangan)","properties":{"application_letter":{"description":"Ariza xati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object","readOnly":true,"nullable":true}},"type":"object"},"ClasterConclusionRequest":{"title":"ClasterConclusionRequest","description":"Klaster xulosasi - so'rov","required":["district_id","date","stir","claster_name","facility_address","facility_name","capacity"],"properties":{"district_id":{"description":"Tuman ID","type":"integer","example":1},"date":{"description":"Xulosa sanasi","type":"string","format":"date","example":"2026-02-26"},"stir":{"description":"STIR raqami (9 ta raqam)","type":"string","example":"123456789"},"claster_name":{"description":"Klaster nomi","type":"string","example":"PAXTA KLASTERI MChJ"},"facility_address":{"description":"Ob'ekt manzili","type":"string","example":"Farg'ona viloyati, Qo'qon shahri"},"facility_name":{"description":"Ob'ekt nomi","type":"string","example":"Markaziy paxta qabul punkti"},"capacity":{"description":"Sig'im (tonna)","type":"integer","example":5000},"sampling_place[available]":{"description":"Namuna olish joyi - mavjud","type":"integer","example":5,"nullable":true},"sampling_place[functional]":{"description":"Namuna olish joyi - ishlaydigan","type":"integer","example":4,"nullable":true},"sampling_place[defective]":{"description":"Namuna olish joyi - nosoz","type":"integer","example":1,"nullable":true},"etalon_samples[available]":{"description":"Etalon namunalar - mavjud","type":"integer","example":5,"nullable":true},"etalon_samples[functional]":{"description":"Etalon namunalar - ishlaydigan","type":"integer","example":4,"nullable":true},"etalon_samples[defective]":{"description":"Etalon namunalar - nosoz","type":"integer","example":1,"nullable":true},"verified_autoscale[available]":{"description":"Tekshirilgan avtotarozi - mavjud","type":"integer","example":5,"nullable":true},"verified_autoscale[functional]":{"description":"Tekshirilgan avtotarozi - ishlaydigan","type":"integer","example":4,"nullable":true},"verified_autoscale[defective]":{"description":"Tekshirilgan avtotarozi - nosoz","type":"integer","example":1,"nullable":true},"autoscale_integrated[available]":{"description":"I-system ulangan avtotarozi - mavjud","type":"integer","example":5,"nullable":true},"autoscale_integrated[functional]":{"description":"I-system ulangan avtotarozi - ishlaydigan","type":"integer","example":4,"nullable":true},"autoscale_integrated[defective]":{"description":"I-system ulangan avtotarozi - nosoz","type":"integer","example":1,"nullable":true},"certified_staff[available]":{"description":"Sertifikatlangan xodimlar - mavjud","type":"integer","example":10,"nullable":true},"certified_staff[functional]":{"description":"Sertifikatlangan xodimlar - ishlaydigan","type":"integer","example":8,"nullable":true},"certified_staff[defective]":{"description":"Sertifikatlangan xodimlar - nosoz","type":"integer","example":2,"nullable":true},"standards_provided[available]":{"description":"Standartlar ta'minlangan - mavjud","type":"integer","example":5,"nullable":true},"standards_provided[functional]":{"description":"Standartlar ta'minlangan - ishlaydigan","type":"integer","example":5,"nullable":true},"standards_provided[defective]":{"description":"Standartlar ta'minlangan - nosoz","type":"integer","example":0,"nullable":true},"equipment_verified[available]":{"description":"Tekshirilgan uskunalar - mavjud","type":"integer","example":8,"nullable":true},"equipment_verified[functional]":{"description":"Tekshirilgan uskunalar - ishlaydigan","type":"integer","example":7,"nullable":true},"equipment_verified[defective]":{"description":"Tekshirilgan uskunalar - nosoz","type":"integer","example":1,"nullable":true},"storage_room[available]":{"description":"Saqlash xonasi - mavjud","type":"integer","example":3,"nullable":true},"storage_room[functional]":{"description":"Saqlash xonasi - ishlaydigan","type":"integer","example":3,"nullable":true},"storage_room[defective]":{"description":"Saqlash xonasi - nosoz","type":"integer","example":0,"nullable":true},"conveyor_system[available]":{"description":"Konveyer tizimi - mavjud","type":"integer","example":4,"nullable":true},"conveyor_system[functional]":{"description":"Konveyer tizimi - ishlaydigan","type":"integer","example":3,"nullable":true},"conveyor_system[defective]":{"description":"Konveyer tizimi - nosoz","type":"integer","example":1,"nullable":true},"air_ventilation[available]":{"description":"Havo ventilyatsiyasi - mavjud","type":"integer","example":6,"nullable":true},"air_ventilation[functional]":{"description":"Havo ventilyatsiyasi - ishlaydigan","type":"integer","example":5,"nullable":true},"air_ventilation[defective]":{"description":"Havo ventilyatsiyasi - nosoz","type":"integer","example":1,"nullable":true},"cotton_warehouse[available]":{"description":"Paxta ombori - mavjud","type":"integer","example":10,"nullable":true},"cotton_warehouse[functional]":{"description":"Paxta ombori - ishlaydigan","type":"integer","example":8,"nullable":true},"cotton_warehouse[defective]":{"description":"Paxta ombori - nosoz","type":"integer","example":2,"nullable":true},"storage_yard[available]":{"description":"Saqlash maydoni - mavjud","type":"integer","example":5,"nullable":true},"storage_yard[functional]":{"description":"Saqlash maydoni - ishlaydigan","type":"integer","example":4,"nullable":true},"storage_yard[defective]":{"description":"Saqlash maydoni - nosoz","type":"integer","example":1,"nullable":true},"electrical_panel[available]":{"description":"Elektr panel - mavjud","type":"integer","example":8,"nullable":true},"electrical_panel[functional]":{"description":"Elektr panel - ishlaydigan","type":"integer","example":7,"nullable":true},"electrical_panel[defective]":{"description":"Elektr panel - nosoz","type":"integer","example":1,"nullable":true},"lighting_system[available]":{"description":"Yoritish tizimi - mavjud","type":"integer","example":20,"nullable":true},"lighting_system[functional]":{"description":"Yoritish tizimi - ishlaydigan","type":"integer","example":18,"nullable":true},"lighting_system[defective]":{"description":"Yoritish tizimi - nosoz","type":"integer","example":2,"nullable":true},"facility_fence[available]":{"description":"Ob'ekt to'sig'i - mavjud","type":"integer","example":1,"nullable":true},"facility_fence[functional]":{"description":"Ob'ekt to'sig'i - ishlaydigan","type":"integer","example":1,"nullable":true},"facility_fence[defective]":{"description":"Ob'ekt to'sig'i - nosoz","type":"integer","example":0,"nullable":true},"tarpaulin_covers[available]":{"description":"Brezent qoplamalar - mavjud","type":"integer","example":15,"nullable":true},"tarpaulin_covers[functional]":{"description":"Brezent qoplamalar - ishlaydigan","type":"integer","example":13,"nullable":true},"tarpaulin_covers[defective]":{"description":"Brezent qoplamalar - nosoz","type":"integer","example":2,"nullable":true},"fire_trucks[available]":{"description":"O't o'chirish mashinalari - mavjud","type":"integer","example":2,"nullable":true},"fire_trucks[functional]":{"description":"O't o'chirish mashinalari - ishlaydigan","type":"integer","example":1,"nullable":true},"fire_trucks[defective]":{"description":"O't o'chirish mashinalari - nosoz","type":"integer","example":1,"nullable":true},"motor_pumps[available]":{"description":"Motor nasoslar - mavjud","type":"integer","example":3,"nullable":true},"motor_pumps[functional]":{"description":"Motor nasoslar - ishlaydigan","type":"integer","example":2,"nullable":true},"motor_pumps[defective]":{"description":"Motor nasoslar - nosoz","type":"integer","example":1,"nullable":true},"water_pumps[available]":{"description":"Suv nasosvlari - mavjud","type":"integer","example":4,"nullable":true},"water_pumps[functional]":{"description":"Suv nasoslari - ishlaydigan","type":"integer","example":3,"nullable":true},"water_pumps[defective]":{"description":"Suv nasoslari - nosoz","type":"integer","example":1,"nullable":true},"water_reservoirs[available]":{"description":"Suv omborlari - mavjud","type":"integer","example":3,"nullable":true},"water_reservoirs[functional]":{"description":"Suv omborlari - ishlaydigan","type":"integer","example":2,"nullable":true},"water_reservoirs[defective]":{"description":"Suv omborlari - nosoz","type":"integer","example":1,"nullable":true},"fire_panel[available]":{"description":"O't o'chirish qalqoni - mavjud","type":"integer","example":5,"nullable":true},"fire_panel[functional]":{"description":"O't o'chirish qalqoni - ishlaydigan","type":"integer","example":4,"nullable":true},"fire_panel[defective]":{"description":"O't o'chirish qalqoni - nosoz","type":"integer","example":1,"nullable":true},"fire_hoses[available]":{"description":"O't o'chirish yenglari - mavjud","type":"integer","example":10,"nullable":true},"fire_hoses[functional]":{"description":"O't o'chirish yenglari - ishlaydigan","type":"integer","example":9,"nullable":true},"fire_hoses[defective]":{"description":"O't o'chirish yenglari - nosoz","type":"integer","example":1,"nullable":true},"mudirlar":{"description":"Bitta yoki bir nechta xodim qo'shish mumkin","type":"string","example":"Abdullayeva B J","nullable":false},"cotton_reception_status":{"description":"Paxta qabul holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"readiness":{"description":"Tayyor holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"users":{"description":"Komissiya a'zolari","type":"array","items":{"required":["role","full_name"],"properties":{"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}}},"type":"object"},"ClasterConclusionResponse":{"title":"ClasterConclusionResponse","description":"Klaster xulosasi - javob","properties":{"id":{"type":"integer","readOnly":true,"example":1},"district_id":{"description":"Tuman ID","type":"integer","example":1},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"date":{"description":"Xulosa sanasi","type":"string","format":"date","example":"2026-02-26"},"stir":{"description":"STIR raqami","type":"string","example":"123456789"},"claster_name":{"description":"Klaster nomi","type":"string","example":"PAXTA KLASTERI MChJ"},"facility_address":{"description":"Ob'ekt manzili","type":"string","example":"Farg'ona viloyati, Qo'qon shahri"},"facility_name":{"description":"Ob'ekt nomi","type":"string","example":"Markaziy paxta qabul punkti"},"capacity":{"description":"Sig'im (tonna)","type":"integer","example":5000},"sampling_place":{"description":"Namuna olish joyi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"etalon_samples":{"description":"Etalon namunalar","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"verified_autoscale":{"description":"Tekshirilgan avtotarozi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"autoscale_integrated":{"description":"I-system ulangan avtotarozi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"certified_staff":{"description":"Sertifikatlangan xodimlar","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":8,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"standards_provided":{"description":"Standartlar ta'minlangan","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":5,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"equipment_verified":{"description":"Tekshirilgan uskunalar","properties":{"available":{"type":"integer","example":8,"nullable":true},"functional":{"type":"integer","example":7,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"storage_room":{"description":"Saqlash xonasi","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"conveyor_system":{"description":"Konveyer tizimi","properties":{"available":{"type":"integer","example":4,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"air_ventilation":{"description":"Havo ventilyatsiyasi","properties":{"available":{"type":"integer","example":6,"nullable":true},"functional":{"type":"integer","example":5,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"cotton_warehouse":{"description":"Paxta ombori","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":8,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"storage_yard":{"description":"Saqlash maydoni","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"electrical_panel":{"description":"Elektr panel","properties":{"available":{"type":"integer","example":8,"nullable":true},"functional":{"type":"integer","example":7,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"lighting_system":{"description":"Yoritish tizimi","properties":{"available":{"type":"integer","example":20,"nullable":true},"functional":{"type":"integer","example":18,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"facility_fence":{"description":"Ob'ekt to'sig'i","properties":{"available":{"type":"integer","example":1,"nullable":true},"functional":{"type":"integer","example":1,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"tarpaulin_covers":{"description":"Brezent qoplamalar","properties":{"available":{"type":"integer","example":15,"nullable":true},"functional":{"type":"integer","example":13,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"fire_trucks":{"description":"O't o'chirish mashinalari","properties":{"available":{"type":"integer","example":2,"nullable":true},"functional":{"type":"integer","example":1,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"motor_pumps":{"description":"Motor nasoslar","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":2,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"water_pumps":{"description":"Suv nasoslari","properties":{"available":{"type":"integer","example":4,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"water_reservoirs":{"description":"Suv omborlari","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":2,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"fire_panel":{"description":"O't o'chirish qalqoni","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"fire_hoses":{"description":"O't o'chirish yenglari","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":9,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"mudirlar":{"description":"Bitta yoki bir nechta xodim qo'shish mumkin","type":"string","example":"Abdullayeva B J","nullable":false},"cotton_reception_status":{"description":"Paxta qabul holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"readiness":{"description":"Tayyor holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"file_path":{"type":"string","readOnly":true,"example":"pdf\/claster-conclusions\/klaster-xulosasi-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/claster-conclusions\/klaster-xulosasi-1.pdf","nullable":true},"users":{"description":"Komissiya a'zolari","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"}},"type":"object"},"ClasterConclusionUsers":{"title":"Klaster xulosasini imzolovchilar ro'yxati","description":"Klaster xulosalarini imzolovchilar ro'yxati","properties":{"claster_conclusion_id":{"description":"Klaster xulosasi ID","type":"integer","example":"1"},"full_name":{"description":"To'liq ism, familiya va sharifi","type":"string","example":"FISh"},"role":{"description":"Yashnaobod tuman Elektr tarmoqlari korxonasi boshlig\u2018i","type":"string","example":""}},"type":"object"},"CooperationConclusionRequest":{"title":"CooperationConclusionRequest","description":"Kooperatsiya xulosasi - so'rov","required":["regional_department_id","district_id"],"properties":{"number":{"description":"Xulosa raqami","type":"string","example":"101","nullable":true},"date":{"description":"Xulosa sanasi","type":"string","format":"date","example":"2026-02-26","nullable":true},"type":{"description":"Xulosa turi (cooperation_clasters - paxta klasterlari, cooperation_cooperations - paxta kooperatsiyalari, seed_clasters - urug'chilik klasterlari, seed_cooperations - urug'chilik kooperatsiyalari)","type":"string","example":"cooperation_clasters","nullable":false,"enum":["cooperation_clasters","cooperation_cooperations","seed_clasters","seed_cooperations"]},"regional_department_id":{"description":"Hududiy boshqarma ID","type":"integer","example":1},"district_id":{"description":"Tuman ID","type":"integer","example":1},"users[]":{"description":"Komissiya a'zolari (foydalanuvchi ID lari)","type":"array","items":{"type":"integer","example":1}},"regional_department_head_order[order_number]":{"description":"Boshqarma boshlig'i buyrug'i - buyruq raqami","type":"string","example":"12-son","nullable":true},"regional_department_head_order[order_date]":{"description":"Boshqarma boshlig'i buyrug'i - buyruq sanasi","type":"string","example":"2026-01-01","nullable":true},"business_ombudsman[date]":{"description":"Biznes ombudsman - sana","type":"string","example":"2026-01-01","nullable":true},"business_ombudsman[number]":{"description":"Biznes ombudsman - raqam","type":"string","example":"123-son","nullable":true},"conclusion_info[start_date]":{"description":"Xulosa muddati - boshlanish sanasi","type":"string","example":"2026-02-01","nullable":true},"conclusion_info[end_date]":{"description":"Xulosa muddati - tugash sanasi","type":"string","example":"2026-02-10","nullable":true},"name":{"description":"Korxona nomi","type":"string","example":"PAXTA KOOPERATSIYA MChJ","nullable":true},"stir":{"description":"STIR raqami","type":"integer","example":123456789,"nullable":true},"director_full_name":{"description":"Direktor F.I.SH","type":"string","example":"Ahmadov Anvar Akramovich","nullable":true},"ifut_code":{"description":"IFUT kodi","type":"string","example":"01210","nullable":true},"registration_date":{"description":"Ro'yxatdan o'tgan sana","type":"string","format":"date","example":"2020-05-15","nullable":true},"registration_number":{"description":"Guvohnoma raqami","type":"string","example":"12345","nullable":true},"full_address":{"description":"To'liq manzil","type":"string","example":"Farg'ona viloyati, Qo'qon shahri","nullable":true},"cooperation_members[farmers_number]":{"description":"Kooperatsiya a'zolari - fermerlar soni","type":"string","example":"150","nullable":true},"cooperation_members[farmers_area]":{"description":"Kooperatsiya a'zolari - fermerlar maydoni","type":"string","example":"2500","nullable":true},"cooperation_members[farmers_plan]":{"description":"Kooperatsiya a'zolari - fermerlar rejasi","type":"string","example":"1000","nullable":true},"appeal_letter[date]":{"description":"Murojaat xati - sana","type":"string","example":"2026-01-15","nullable":true},"appeal_letter[number]":{"description":"Murojaat xati - raqam","type":"string","example":"45-son","nullable":true},"own_or_rented":{"description":"Mulk turi (o'z yoki ijara)","type":"string","example":"own","nullable":true,"enum":["own","rent"]},"rent_facility_name":{"description":"Ijara obyekti nomi","type":"string","example":"Paxta tozalash zavodi","nullable":true},"rented_company_name":{"description":"Ijaraga beruvchi korxona","type":"string","example":"AGRO INVEST MChJ","nullable":true},"rented_company_stir":{"description":"Ijaraga beruvchi korxona STIR (INN)","type":"string","example":"123456789","nullable":true},"rent_facility_address":{"description":"Ijara obyekti manzili","type":"string","example":"Sanoat ko'chasi, 15","nullable":true},"rent_contract_number":{"description":"Ijara shartnoma raqami","type":"string","example":"1234","nullable":true},"rent_contract_date":{"description":"Ijara shartnoma sanasi","type":"string","format":"date","example":"2025-09-01","nullable":true},"fvv_conclusion[date]":{"description":"FVV xulosasi - sana","type":"string","example":"2026-01-01","nullable":true},"fvv_conclusion[number]":{"description":"FVV xulosasi - raqam","type":"string","example":"FVV-123","nullable":true},"district_electricity_conclusion[date]":{"description":"Tuman elektr xulosa - sana","type":"string","example":"2026-01-01","nullable":true},"district_electricity_conclusion[number]":{"description":"Tuman elektr xulosa - raqam","type":"string","example":"EL-456","nullable":true},"vehicle_scale_certificate_exists":{"description":"Avtomobil tarozi sertifikati mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"vehicle_scale_certificate[date]":{"description":"Avtomobil tarozi sertifikati - sana","type":"string","example":"2026-01-01","nullable":true},"vehicle_scale_certificate[number]":{"description":"Avtomobil tarozi sertifikati - raqam","type":"string","example":"AT-789","nullable":true},"lab_equipment_certificate_exists":{"description":"Laboratoriya jihozlari sertifikati mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"lab_equipment_certificate":{"description":"Laboratoriya jihozlari sertifikatlari","type":"array","items":{"properties":{"date":{"description":"Sertifikat berilgan sana","type":"string","example":"2026-01-01","nullable":true},"expiry_date":{"description":"Amal qilish muddati (tugash sanasi)","type":"string","example":"2027-01-01","nullable":true},"number":{"description":"Sertifikat raqami","type":"string","example":"LJ-123","nullable":true}},"type":"object"},"nullable":true},"cotton_intake_point_name":{"description":"Paxta qabul punkti nomi","type":"string","example":"Markaziy qabul punkti","nullable":true},"cotton_intake_point_capacity":{"description":"Qabul punkti sig'imi (tonna)","type":"integer","example":5000,"nullable":true},"sampling_place_exists":{"description":"Namuna olish joyi mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"raw_material_etalon_sample_exists":{"description":"Xom ashyo etalon namunasi mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"lab_specialist_number":{"description":"Laboratoriya mutaxassislari soni","type":"integer","example":5,"nullable":true},"qualified_specialists":{"description":"Malakali mutaxassislar soni","type":"integer","example":3,"nullable":true},"unqualified_specialists":{"description":"Malakasiz mutaxassislar soni","type":"integer","example":2,"nullable":true},"existing_e_autoscale":{"description":"Mavjud elektron avtotarozi soni","type":"integer","example":4,"nullable":true},"qualified_e_autoscales":{"description":"Qiyoslovdan o'tgan avtotarozilar","type":"integer","example":3,"nullable":true},"unqualified_e_autoscales":{"description":"Qiyoslovdan o'tmagan avtotarozilar","type":"integer","example":1,"nullable":true},"with_isystem_connections":{"description":"I-system ulanganlar soni","type":"integer","example":3,"nullable":true},"without_isystem_connections":{"description":"I-system ulanmaganlar soni","type":"integer","example":1,"nullable":true},"ozmst_380_exists":{"description":"O'zMSt 380 mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"ozmst_387_exists":{"description":"O'zMSt 387 mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"ozmst_551_exists":{"description":"O'zMSt 551 mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"ozmst_552_exists":{"description":"O'zMSt 552 mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"ozdst_642_exists":{"description":"O'zDSt 642 mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"lab_scale_passed[total]":{"description":"Laboratoriya tarozisi jami soni","type":"integer","example":5,"nullable":true},"lab_scale_passed[ready]":{"description":"Laboratoriya tarozisi tayyor soni","type":"integer","example":3,"nullable":true},"vxs_humidity_detector_passed[total]":{"description":"VXS namlik aniqlagichi jami soni","type":"integer","example":4,"nullable":true},"vxs_humidity_detector_passed[ready]":{"description":"VXS namlik aniqlagichi tayyor soni","type":"integer","example":3,"nullable":true},"lkm_impurity_detector_passed[total]":{"description":"LKM ifloslik aniqlagichi jami soni","type":"integer","example":3,"nullable":true},"lkm_impurity_detector_passed[ready]":{"description":"LKM ifloslik aniqlagichi tayyor soni","type":"integer","example":2,"nullable":true},"lps_sort_detector_passed[total]":{"description":"LPS nav aniqlagichi jami soni","type":"integer","example":2,"nullable":true},"lps_sort_detector_passed[ready]":{"description":"LPS nav aniqlagichi tayyor soni","type":"integer","example":1,"nullable":true},"lab_daily_sample_room_exists":{"description":"Kunlik namuna xonasi mavjudligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"pl_transporter_works[total]":{"description":"PL transportyor jami soni","type":"integer","example":5,"nullable":true},"pl_transporter_works[ready]":{"description":"PL transportyor ishlayotgan soni","type":"integer","example":4,"nullable":true},"air_suction_fan_works[total]":{"description":"Havo so'rish ventilyatori jami soni","type":"integer","example":6,"nullable":true},"air_suction_fan_works[ready]":{"description":"Havo so'rish ventilyatori ishlayotgan soni","type":"integer","example":5,"nullable":true},"closed_storages_ready[total]":{"description":"Yopiq omborlar jami soni","type":"integer","example":10,"nullable":true},"closed_storages_ready[ready]":{"description":"Yopiq omborlar tayyor soni","type":"integer","example":8,"nullable":true},"garam_fields_ready[total]":{"description":"Garam maydonlari jami soni","type":"integer","example":5,"nullable":true},"garam_fields_ready[ready]":{"description":"Garam maydonlari tayyor soni","type":"integer","example":4,"nullable":true},"electric_cabinet_ready[total]":{"description":"Elektr shkafi jami soni","type":"integer","example":8,"nullable":true},"electric_cabinet_ready[ready]":{"description":"Elektr shkafi tayyor soni","type":"integer","example":7,"nullable":true},"lighting_lights_ready[total]":{"description":"Yoritish chiroqlari jami soni","type":"integer","example":20,"nullable":true},"lighting_lights_ready[ready]":{"description":"Yoritish chiroqlari tayyor soni","type":"integer","example":18,"nullable":true},"tarpaulin_enough":{"description":"Brezent soni","type":"integer","example":1,"nullable":true},"surrounded_by_wall":{"description":"Devor bilan o'ralganlik","type":"string","example":"completely","nullable":true,"enum":["completely","partially","not_at_all"]},"fire_truck_ready[total]":{"description":"O't o'chirish mashinasi jami soni","type":"integer","example":2,"nullable":true},"fire_truck_ready[ready]":{"description":"O't o'chirish mashinasi tayyor soni","type":"integer","example":1,"nullable":true},"motopompa_ready[total]":{"description":"Motopompa jami soni","type":"integer","example":3,"nullable":true},"motopompa_ready[ready]":{"description":"Motopompa tayyor soni","type":"integer","example":2,"nullable":true},"water_pump_ready[total]":{"description":"Suv nasosi jami soni","type":"integer","example":4,"nullable":true},"water_pump_ready[ready]":{"description":"Suv nasosi tayyor soni","type":"integer","example":3,"nullable":true},"water_tank_ready[total]":{"description":"Suv havzasi jami soni","type":"integer","example":3,"nullable":true},"water_tank_ready[ready]":{"description":"Suv havzasi tayyor soni","type":"integer","example":2,"nullable":true},"fire_shield_ready[total]":{"description":"O't o'chirish qalqoni jami soni","type":"integer","example":5,"nullable":true},"fire_shield_ready[ready]":{"description":"O't o'chirish qalqoni tayyor soni","type":"integer","example":4,"nullable":true},"fire_yenglari_ready[total]":{"description":"O't o'chirish yenglari jami soni","type":"integer","example":10,"nullable":true},"fire_yenglari_ready[ready]":{"description":"O't o'chirish yenglari tayyor soni","type":"integer","example":9,"nullable":true},"cotton_intake_date":{"description":"Paxta qabul qilish sanasi","type":"string","format":"date","example":"2026-09-01","nullable":true},"detected_issues":{"description":"Aniqlangan kamchiliklar","type":"string","example":"Laboratoriya jihozlarini yangilash lozim","nullable":true},"conclusion":{"description":"Xulosa","type":"string","example":"Paxta qabul mavsumiga tayyor","nullable":true},"recommendations":{"description":"Tavsiyalar","type":"string","example":"Laboratoriya jihozlarini yangilash tavsiya etiladi","nullable":true},"appendix_to_conclusion":{"description":"Xulosaga ilova","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"meets_requirements":{"description":"Talablarga muvofiqligi","type":"integer","example":1,"nullable":true,"enum":[0,1]},"files[certificate][]":{"description":"Sertifikat fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[statute][]":{"description":"Ustav fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[appeal_letter][]":{"description":"Murojaat xati fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[lease_agreement][]":{"description":"Ijara shartnomasi fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[conclusion_to_lease_agreement][]":{"description":"Ijara shartnomasiga xulosa fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[fvv_conclusion][]":{"description":"FVV xulosa fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[district_electricity_conclusion][]":{"description":"Tuman elektr xulosa fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[vehicle_scale_certificate][]":{"description":"Avtomobil tarozi sertifikati fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true},"files[lab_equipment_certificate][]":{"description":"Laboratoriya jihozlari sertifikati fayllari","type":"array","items":{"type":"string","format":"binary"},"nullable":true}},"type":"object"},"CooperationConclusionResponse":{"title":"CooperationConclusionResponse","description":"Kooperatsiya xulosasi - javob","properties":{"id":{"type":"integer","readOnly":true,"example":1},"number":{"description":"Xulosa raqami","type":"string","example":"101","nullable":true},"date":{"description":"Xulosa sanasi","type":"string","format":"date","example":"2026-02-26","nullable":true},"type":{"description":"Xulosa turi","type":"string","example":"cooperation_clasters","nullable":false,"enum":["cooperation_clasters","cooperation_cooperations","seed_clasters","seed_cooperations"]},"regional_department_id":{"description":"Hududiy boshqarma ID","type":"integer","example":1},"regional_department":{"description":"Hududiy boshqarma nomi","type":"string","readOnly":true,"example":"Farg'ona viloyati"},"district_id":{"description":"Tuman ID","type":"integer","example":1},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"users":{"description":"Komissiya a'zolari","type":"array","items":{"$ref":"#\/components\/schemas\/User"}},"regional_department_head_order":{"description":"Boshqarma boshlig'i buyrug'i","properties":{"order_number":{"type":"string","example":"12-son","nullable":true},"order_date":{"type":"string","example":"2026-01-01","nullable":true}},"type":"object","nullable":true},"business_ombudsman":{"description":"Biznes ombudsman","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"123-son","nullable":true}},"type":"object","nullable":true},"conclusion_info":{"description":"Xulosa muddati","properties":{"start_date":{"type":"string","example":"2026-02-01","nullable":true},"end_date":{"type":"string","example":"2026-02-10","nullable":true}},"type":"object","nullable":true},"name":{"description":"Korxona nomi","type":"string","example":"PAXTA KOOPERATSIYA MChJ","nullable":true},"stir":{"description":"STIR raqami","type":"integer","example":123456789,"nullable":true},"director_full_name":{"description":"Direktor F.I.SH","type":"string","example":"Ahmadov Anvar Akramovich","nullable":true},"ifut_code":{"description":"IFUT kodi","type":"string","example":"01210","nullable":true},"registration_date":{"description":"Ro'yxatdan o'tgan sana","type":"string","format":"date","example":"2020-05-15","nullable":true},"registration_number":{"description":"Guvohnoma raqami","type":"string","example":"12345","nullable":true},"full_address":{"description":"To'liq manzil","type":"string","example":"Farg'ona viloyati, Qo'qon shahri","nullable":true},"cooperation_members":{"description":"Kooperatsiya a'zolari","properties":{"farmers_number":{"type":"string","example":"150","nullable":true},"farmers_area":{"type":"string","example":"2500","nullable":true},"farmers_plan":{"type":"string","example":"1000","nullable":true}},"type":"object","nullable":true},"appeal_letter":{"description":"Murojaat xati","properties":{"date":{"type":"string","example":"2026-01-15","nullable":true},"number":{"type":"string","example":"45-son","nullable":true}},"type":"object","nullable":true},"own_or_rented":{"description":"Mulk turi (o'z yoki ijara)","type":"string","example":"own","nullable":true,"enum":["own","rent"]},"rent_facility_name":{"description":"Ijara obyekti nomi","type":"string","example":"Paxta tozalash zavodi","nullable":true},"rented_company_name":{"description":"Ijaraga beruvchi korxona","type":"string","example":"AGRO INVEST MChJ","nullable":true},"rented_company_stir":{"description":"Ijaraga beruvchi korxona STIR (INN)","type":"string","example":"123456789","nullable":true},"rent_facility_address":{"description":"Ijara obyekti manzili","type":"string","example":"Sanoat ko'chasi, 15","nullable":true},"rent_contract_number":{"description":"Ijara shartnoma raqami","type":"string","example":"1234","nullable":true},"rent_contract_date":{"description":"Ijara shartnoma sanasi","type":"string","format":"date","example":"2025-09-01","nullable":true},"fvv_conclusion":{"description":"FVV xulosasi","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"FVV-123","nullable":true}},"type":"object","nullable":true},"district_electricity_conclusion":{"description":"Tuman elektr xulosa","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"EL-456","nullable":true}},"type":"object","nullable":true},"vehicle_scale_certificate_exists":{"description":"Avtomobil tarozi sertifikati mavjudligi","type":"boolean","example":true,"nullable":true},"vehicle_scale_certificate":{"description":"Avtomobil tarozi sertifikati","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"AT-789","nullable":true}},"type":"object","nullable":true},"lab_equipment_certificate_exists":{"description":"Laboratoriya jihozlari sertifikati mavjudligi","type":"boolean","example":true,"nullable":true},"lab_equipment_certificate":{"description":"Laboratoriya jihozlari sertifikatlari","type":"array","items":{"properties":{"date":{"description":"Sertifikat berilgan sana","type":"string","example":"2026-01-01","nullable":true},"expiry_date":{"description":"Amal qilish muddati (tugash sanasi)","type":"string","example":"2027-01-01","nullable":true},"number":{"description":"Sertifikat raqami","type":"string","example":"LJ-123","nullable":true}},"type":"object"},"nullable":true},"cotton_intake_point_name":{"description":"Paxta qabul punkti nomi","type":"string","example":"Markaziy qabul punkti","nullable":true},"cotton_intake_point_capacity":{"description":"Qabul punkti sig'imi (tonna)","type":"integer","example":5000,"nullable":true},"sampling_place_exists":{"description":"Namuna olish joyi mavjudligi","type":"boolean","example":true,"nullable":true},"raw_material_etalon_sample_exists":{"description":"Xom ashyo etalon namunasi mavjudligi","type":"boolean","example":true,"nullable":true},"lab_specialist_number":{"description":"Laboratoriya mutaxassislari soni","type":"integer","example":5,"nullable":true},"qualified_specialists":{"description":"Malakali mutaxassislar soni","type":"integer","example":3,"nullable":true},"unqualified_specialists":{"description":"Malakasiz mutaxassislar soni","type":"integer","example":2,"nullable":true},"existing_e_autoscale":{"description":"Mavjud elektron avtotarozi soni","type":"integer","example":4,"nullable":true},"qualified_e_autoscales":{"description":"Qiyoslovdan o'tgan avtotarozilar","type":"integer","example":3,"nullable":true},"unqualified_e_autoscales":{"description":"Qiyoslovdan o'tmagan avtotarozilar","type":"integer","example":1,"nullable":true},"with_isystem_connections":{"description":"I-system ulanganlar soni","type":"integer","example":3,"nullable":true},"without_isystem_connections":{"description":"I-system ulanmaganlar soni","type":"integer","example":1,"nullable":true},"ozmst_380_exists":{"description":"O'zMSt 380 mavjudligi","type":"boolean","example":true,"nullable":true},"ozmst_387_exists":{"description":"O'zMSt 387 mavjudligi","type":"boolean","example":true,"nullable":true},"ozmst_551_exists":{"description":"O'zMSt 551 mavjudligi","type":"boolean","example":true,"nullable":true},"ozmst_552_exists":{"description":"O'zMSt 552 mavjudligi","type":"boolean","example":false,"nullable":true},"ozdst_642_exists":{"description":"O'zDSt 642 mavjudligi","type":"boolean","example":true,"nullable":true},"lab_scale_passed":{"description":"Laboratoriya tarozisi","properties":{"total":{"type":"integer","example":5,"nullable":true},"ready":{"type":"integer","example":3,"nullable":true}},"type":"object","nullable":true},"vxs_humidity_detector_passed":{"description":"VXS namlik aniqlagichi","properties":{"total":{"type":"integer","example":4,"nullable":true},"ready":{"type":"integer","example":3,"nullable":true}},"type":"object","nullable":true},"lkm_impurity_detector_passed":{"description":"LKM ifloslik aniqlagichi","properties":{"total":{"type":"integer","example":3,"nullable":true},"ready":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"lps_sort_detector_passed":{"description":"LPS nav aniqlagichi","properties":{"total":{"type":"integer","example":2,"nullable":true},"ready":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"lab_daily_sample_room_exists":{"description":"Kunlik namuna xonasi mavjudligi","type":"boolean","example":true,"nullable":true},"pl_transporter_works":{"description":"PL transportyor","properties":{"total":{"type":"integer","example":5,"nullable":true},"ready":{"type":"integer","example":4,"nullable":true}},"type":"object","nullable":true},"air_suction_fan_works":{"description":"Havo so'rish ventilyatori","properties":{"total":{"type":"integer","example":6,"nullable":true},"ready":{"type":"integer","example":5,"nullable":true}},"type":"object","nullable":true},"closed_storages_ready":{"description":"Yopiq omborlar","properties":{"total":{"type":"integer","example":10,"nullable":true},"ready":{"type":"integer","example":8,"nullable":true}},"type":"object","nullable":true},"garam_fields_ready":{"description":"Garam maydonlari","properties":{"total":{"type":"integer","example":5,"nullable":true},"ready":{"type":"integer","example":4,"nullable":true}},"type":"object","nullable":true},"electric_cabinet_ready":{"description":"Elektr shkafi","properties":{"total":{"type":"integer","example":8,"nullable":true},"ready":{"type":"integer","example":7,"nullable":true}},"type":"object","nullable":true},"lighting_lights_ready":{"description":"Yoritish chiroqlari","properties":{"total":{"type":"integer","example":20,"nullable":true},"ready":{"type":"integer","example":18,"nullable":true}},"type":"object","nullable":true},"tarpaulin_enough":{"description":"Brezent soni","type":"integer","example":5,"nullable":false},"surrounded_by_wall":{"description":"Devor bilan o'ralganlik","type":"string","example":"completely","nullable":true,"enum":["completely","partially","not_at_all"]},"fire_truck_ready":{"description":"O't o'chirish mashinasi","properties":{"total":{"type":"integer","example":2,"nullable":true},"ready":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"motopompa_ready":{"description":"Motopompa","properties":{"total":{"type":"integer","example":3,"nullable":true},"ready":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"water_pump_ready":{"description":"Suv nasosi","properties":{"total":{"type":"integer","example":4,"nullable":true},"ready":{"type":"integer","example":3,"nullable":true}},"type":"object","nullable":true},"water_tank_ready":{"description":"Suv havzasi","properties":{"total":{"type":"integer","example":3,"nullable":true},"ready":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"fire_shield_ready":{"description":"O't o'chirish qalqoni","properties":{"total":{"type":"integer","example":5,"nullable":true},"ready":{"type":"integer","example":4,"nullable":true}},"type":"object","nullable":true},"fire_yenglari_ready":{"description":"O't o'chirish yenglari","properties":{"total":{"type":"integer","example":10,"nullable":true},"ready":{"type":"integer","example":9,"nullable":true}},"type":"object","nullable":true},"cotton_intake_date":{"description":"Paxta qabul qilish sanasi","type":"string","format":"date","example":"2026-09-01","nullable":true},"detected_issues":{"description":"Aniqlangan kamchiliklar","type":"string","example":"Laboratoriya jihozlarini yangilash lozim","nullable":true},"conclusion":{"description":"Xulosa","type":"string","example":"Paxta qabul mavsumiga tayyor","nullable":true},"recommendations":{"description":"Tavsiyalar","type":"string","example":"Laboratoriya jihozlarini yangilash tavsiya etiladi","nullable":true},"appendix_to_conclusion":{"description":"Xulosaga ilova","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"meets_requirements":{"description":"Talablarga muvofiqligi","type":"boolean","example":true,"nullable":true},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"file_path":{"type":"string","readOnly":true,"example":"pdf\/cooperation-conclusions\/kooperatsiya-xulosasi-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/cooperation-conclusions\/kooperatsiya-xulosasi-1.pdf","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"},"files":{"description":"Yuklangan fayllar (collection nomi bo'yicha guruplangan)","properties":{"certificate":{"description":"Sertifikat fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"statute":{"description":"Ustav fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"appeal_letter":{"description":"Murojaat xati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"lease_agreement":{"description":"Ijara shartnomasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"conclusion_to_lease_agreement":{"description":"Ijara shartnomasiga xulosa fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"fvv_conclusion":{"description":"FVV xulosa fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"district_electricity_conclusion":{"description":"Tuman elektr xulosa fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"vehicle_scale_certificate":{"description":"Avtomobil tarozi sertifikati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"lab_equipment_certificate":{"description":"Laboratoriya jihozlari sertifikati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object","readOnly":true,"nullable":true}},"type":"object"},"CottonFacilityReportRequest":{"title":"CottonFacilityReportRequest","description":"Paxta maskan dalolatnomasi - so'rov","required":["region_id","district_id","date","stir","claster_name","facility_address","facility_name","capacity"],"properties":{"report_number":{"description":"Dalolatnoma raqami","type":"string","example":"D-001","nullable":true},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"district_id":{"description":"Tuman ID","type":"integer","example":1},"date":{"description":"Dalolatnoma sanasi","type":"string","format":"date","example":"2026-02-26"},"stir":{"description":"STIR raqami (9 ta raqam)","type":"string","example":"123456789"},"claster_name":{"description":"Klaster nomi","type":"string","example":"PAXTA KLASTERI MChJ"},"facility_address":{"description":"Ob'ekt manzili","type":"string","example":"Farg'ona viloyati, Qo'qon shahri"},"facility_name":{"description":"Ob'ekt nomi","type":"string","example":"Markaziy paxta qabul punkti"},"capacity":{"description":"Sig'im (tonna)","type":"integer","example":5000},"reception_plan":{"description":"Qabul rejasi","type":"string","example":"3000","nullable":true},"fence_status":{"description":"Devor holati: full=to'liq o'ralgan, partial=qisman o'ralgan, none=o'ralmagan","type":"string","example":"full","nullable":true,"enum":["full","partial","none"]},"director_name":{"description":"Direktor ismi","type":"string","example":"Karimov A.A.","nullable":true},"director_phone":{"description":"Direktor telefoni","type":"string","example":"+998901234567","nullable":true},"lab_equipment":{"description":"Laboratoriya uskunalari","type":"array","items":{"required":["name","count","metrology_status"],"properties":{"name":{"type":"string","example":"Tarozi"},"count":{"type":"string","example":"2"},"metrology_status":{"type":"string","example":"tekshirilgan"}},"type":"object"},"nullable":true},"sampling_place[status]":{"description":"1.1 Namuna olish joyi: true=tayyor, false=tayyor emas","type":"boolean","example":true,"nullable":true},"etalon_samples[status]":{"description":"1.2 Etalon namunalari: true=mavjud, false=mavjud emas","type":"boolean","example":true,"nullable":true},"storage_room[status]":{"description":"1.3 Saqlash xonasi: true=mavjud, false=mavjud emas","type":"boolean","example":true,"nullable":true},"autoscale_details[count]":{"description":"1.4 Avtotarozi soni","type":"integer","example":2,"nullable":true},"autoscale_details[metrology_status]":{"description":"1.4 Metrologik qiyoslov: true=o'tgan, false=o'tmagan","type":"boolean","example":true,"nullable":true},"autoscale_details[system_status]":{"description":"1.4 Axborot tizim: true=ulangan, false=ulanmagan","type":"boolean","example":true,"nullable":true},"staff_details[count]":{"description":"1.5 Laborantlar soni","type":"integer","example":3,"nullable":true},"staff_details[certificate_status]":{"description":"1.5 Malaka sertifikati: true=mavjud, false=mavjud emas","type":"boolean","example":true,"nullable":true},"standards_provided[status]":{"description":"1.6 Standartlar: full=to'liq, partial=qisman, none=ta'minlanmagan","type":"string","example":"full","nullable":true,"enum":["full","partial","none"]},"lab_devices":{"description":"1.7 Lab uskunalari","type":"array","items":{"properties":{"name":{"type":"string","example":"laboratoriya tarozisi"},"count":{"type":"integer","example":2},"metrology_status":{"description":"true=o'tgan, false=o'tmagan","type":"boolean","example":true}},"type":"object"},"nullable":true},"conveyor_system[available]":{"description":"Konveyer tizimi - mavjud","type":"integer","example":4,"nullable":true},"conveyor_system[functional]":{"description":"Konveyer tizimi - ishlaydigan","type":"integer","example":3,"nullable":true},"conveyor_system[defective]":{"description":"Konveyer tizimi - nosoz","type":"integer","example":1,"nullable":true},"air_ventilation[available]":{"description":"Havo ventilyatsiyasi - mavjud","type":"integer","example":6,"nullable":true},"air_ventilation[functional]":{"description":"Havo ventilyatsiyasi - ishlaydigan","type":"integer","example":5,"nullable":true},"air_ventilation[defective]":{"description":"Havo ventilyatsiyasi - nosoz","type":"integer","example":1,"nullable":true},"cotton_warehouse[available]":{"description":"Paxta ombori - mavjud","type":"integer","example":10,"nullable":true},"cotton_warehouse[functional]":{"description":"Paxta ombori - ishlaydigan","type":"integer","example":8,"nullable":true},"cotton_warehouse[defective]":{"description":"Paxta ombori - nosoz","type":"integer","example":2,"nullable":true},"storage_yard[available]":{"description":"Saqlash maydoni - mavjud","type":"integer","example":5,"nullable":true},"storage_yard[functional]":{"description":"Saqlash maydoni - ishlaydigan","type":"integer","example":4,"nullable":true},"storage_yard[defective]":{"description":"Saqlash maydoni - nosoz","type":"integer","example":1,"nullable":true},"electrical_panel[available]":{"description":"Elektr panel - mavjud","type":"integer","example":8,"nullable":true},"electrical_panel[functional]":{"description":"Elektr panel - ishlaydigan","type":"integer","example":7,"nullable":true},"electrical_panel[defective]":{"description":"Elektr panel - nosoz","type":"integer","example":1,"nullable":true},"lighting_system[available]":{"description":"Yoritish tizimi - mavjud","type":"integer","example":20,"nullable":true},"lighting_system[functional]":{"description":"Yoritish tizimi - ishlaydigan","type":"integer","example":18,"nullable":true},"lighting_system[defective]":{"description":"Yoritish tizimi - nosoz","type":"integer","example":2,"nullable":true},"facility_fence[available]":{"description":"Ob'ekt to'sig'i - mavjud","type":"integer","example":1,"nullable":true},"facility_fence[functional]":{"description":"Ob'ekt to'sig'i - ishlaydigan","type":"integer","example":1,"nullable":true},"facility_fence[defective]":{"description":"Ob'ekt to'sig'i - nosoz","type":"integer","example":0,"nullable":true},"tarpaulin_covers[available]":{"description":"Brezent qoplamalar - mavjud","type":"integer","example":15,"nullable":true},"tarpaulin_covers[functional]":{"description":"Brezent qoplamalar - ishlaydigan","type":"integer","example":13,"nullable":true},"tarpaulin_covers[defective]":{"description":"Brezent qoplamalar - nosoz","type":"integer","example":2,"nullable":true},"fire_trucks[available]":{"description":"O't o'chirish mashinalari - mavjud","type":"integer","example":2,"nullable":true},"fire_trucks[functional]":{"description":"O't o'chirish mashinalari - ishlaydigan","type":"integer","example":1,"nullable":true},"fire_trucks[defective]":{"description":"O't o'chirish mashinalari - nosoz","type":"integer","example":1,"nullable":true},"motor_pumps[available]":{"description":"Motor nasoslar - mavjud","type":"integer","example":3,"nullable":true},"motor_pumps[functional]":{"description":"Motor nasoslar - ishlaydigan","type":"integer","example":2,"nullable":true},"motor_pumps[defective]":{"description":"Motor nasoslar - nosoz","type":"integer","example":1,"nullable":true},"water_pumps[available]":{"description":"Suv nasosvlari - mavjud","type":"integer","example":4,"nullable":true},"water_pumps[functional]":{"description":"Suv nasoslari - ishlaydigan","type":"integer","example":3,"nullable":true},"water_pumps[defective]":{"description":"Suv nasoslari - nosoz","type":"integer","example":1,"nullable":true},"water_reservoirs[available]":{"description":"Suv omborlari - mavjud","type":"integer","example":3,"nullable":true},"water_reservoirs[functional]":{"description":"Suv omborlari - ishlaydigan","type":"integer","example":2,"nullable":true},"water_reservoirs[defective]":{"description":"Suv omborlari - nosoz","type":"integer","example":1,"nullable":true},"fire_panel[available]":{"description":"O't o'chirish qalqoni - mavjud","type":"integer","example":5,"nullable":true},"fire_panel[functional]":{"description":"O't o'chirish qalqoni - ishlaydigan","type":"integer","example":4,"nullable":true},"fire_panel[defective]":{"description":"O't o'chirish qalqoni - nosoz","type":"integer","example":1,"nullable":true},"fire_hoses[available]":{"description":"O't o'chirish yenglari - mavjud","type":"integer","example":10,"nullable":true},"fire_hoses[functional]":{"description":"O't o'chirish yenglari - ishlaydigan","type":"integer","example":9,"nullable":true},"fire_hoses[defective]":{"description":"O't o'chirish yenglari - nosoz","type":"integer","example":1,"nullable":true},"conclusion":{"description":"Xulosa matni (ixtiyoriy \u2014 bo'lmasa avtomatik generatsiya)","type":"string","nullable":true},"repair_status":{"description":"Ta'mirlash holati","type":"string","example":"toliq_tamirlangan","nullable":true,"enum":["toliq_tamirlangan","tamirlash_boshlangan","tamirlash_boshlanmagan"]},"cotton_reception_status":{"description":"Paxta qabul holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"readiness":{"description":"Tayyor holati: tayyor \/ qisman tayyor \/ tayyor emas","type":"string","example":"ready","nullable":true,"enum":["ready","partially_ready","not_ready"]},"users":{"description":"Komissiya a'zolari","type":"array","items":{"required":["role","full_name"],"properties":{"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}}},"type":"object"},"CottonFacilityReportResponse":{"title":"CottonFacilityReportResponse","description":"Paxta maskan dalolatnomasi - javob","properties":{"id":{"type":"integer","readOnly":true,"example":1},"report_number":{"description":"Dalolatnoma raqami","type":"string","example":"D-001","nullable":true},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"region":{"description":"Viloyat nomi","type":"string","readOnly":true,"example":"Farg'ona viloyati"},"district_id":{"description":"Tuman ID","type":"integer","example":1},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"date":{"description":"Dalolatnoma sanasi","type":"string","format":"date","example":"2026-02-26"},"stir":{"description":"STIR raqami","type":"string","example":"123456789"},"claster_name":{"description":"Klaster nomi","type":"string","example":"PAXTA KLASTERI MChJ"},"facility_address":{"description":"Ob'ekt manzili","type":"string","example":"Farg'ona viloyati, Qo'qon shahri"},"facility_name":{"description":"Ob'ekt nomi","type":"string","example":"Markaziy paxta qabul punkti"},"capacity":{"description":"Sig'im (tonna)","type":"integer","example":5000},"reception_plan":{"description":"Qabul rejasi","type":"string","example":"3000","nullable":true},"fence_status":{"description":"Devor holati: full=to'liq o'ralgan, partial=qisman o'ralgan, none=o'ralmagan","type":"string","example":"full","nullable":true,"enum":["full","partial","none"]},"director_name":{"description":"Direktor ismi","type":"string","example":"Karimov A.A.","nullable":true},"director_phone":{"description":"Direktor telefoni","type":"string","example":"+998901234567","nullable":true},"lab_equipment":{"description":"Laboratoriya uskunalari","type":"array","items":{"properties":{"name":{"type":"string","example":"Tarozi"},"count":{"type":"string","example":"2"},"metrology_status":{"type":"string","example":"tekshirilgan"}},"type":"object"},"nullable":true},"sampling_place":{"description":"Namuna olish joyi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"etalon_samples":{"description":"Etalon namunalar","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"verified_autoscale":{"description":"Tekshirilgan avtotarozi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"autoscale_integrated":{"description":"I-system ulangan avtotarozi","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"certified_staff":{"description":"Sertifikatlangan xodimlar","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":8,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"standards_provided":{"description":"Standartlar ta'minlangan","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":5,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"equipment_verified":{"description":"Tekshirilgan uskunalar","properties":{"available":{"type":"integer","example":8,"nullable":true},"functional":{"type":"integer","example":7,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"storage_room":{"description":"Saqlash xonasi","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"conveyor_system":{"description":"Konveyer tizimi","properties":{"available":{"type":"integer","example":4,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"air_ventilation":{"description":"Havo ventilyatsiyasi","properties":{"available":{"type":"integer","example":6,"nullable":true},"functional":{"type":"integer","example":5,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"cotton_warehouse":{"description":"Paxta ombori","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":8,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"storage_yard":{"description":"Saqlash maydoni","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"electrical_panel":{"description":"Elektr panel","properties":{"available":{"type":"integer","example":8,"nullable":true},"functional":{"type":"integer","example":7,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"lighting_system":{"description":"Yoritish tizimi","properties":{"available":{"type":"integer","example":20,"nullable":true},"functional":{"type":"integer","example":18,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"facility_fence":{"description":"Ob'ekt to'sig'i","properties":{"available":{"type":"integer","example":1,"nullable":true},"functional":{"type":"integer","example":1,"nullable":true},"defective":{"type":"integer","example":0,"nullable":true}},"type":"object","nullable":true},"tarpaulin_covers":{"description":"Brezent qoplamalar","properties":{"available":{"type":"integer","example":15,"nullable":true},"functional":{"type":"integer","example":13,"nullable":true},"defective":{"type":"integer","example":2,"nullable":true}},"type":"object","nullable":true},"fire_trucks":{"description":"O't o'chirish mashinalari","properties":{"available":{"type":"integer","example":2,"nullable":true},"functional":{"type":"integer","example":1,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"motor_pumps":{"description":"Motor nasoslar","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":2,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"water_pumps":{"description":"Suv nasoslari","properties":{"available":{"type":"integer","example":4,"nullable":true},"functional":{"type":"integer","example":3,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"water_reservoirs":{"description":"Suv omborlari","properties":{"available":{"type":"integer","example":3,"nullable":true},"functional":{"type":"integer","example":2,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"fire_panel":{"description":"O't o'chirish qalqoni","properties":{"available":{"type":"integer","example":5,"nullable":true},"functional":{"type":"integer","example":4,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"fire_hoses":{"description":"O't o'chirish yenglari","properties":{"available":{"type":"integer","example":10,"nullable":true},"functional":{"type":"integer","example":9,"nullable":true},"defective":{"type":"integer","example":1,"nullable":true}},"type":"object","nullable":true},"conclusion":{"description":"Xulosa matni (ixtiyoriy \u2014 bo'lmasa avtomatik generatsiya)","type":"string","nullable":true},"repair_status":{"description":"Ta'mirlash holati","type":"string","example":"toliq_tamirlangan","nullable":true,"enum":["toliq_tamirlangan","tamirlash_boshlangan","tamirlash_boshlanmagan"]},"cotton_reception_status":{"description":"Paxta qabul holati","type":"string","example":"ready","nullable":true,"enum":["ready","not_ready"]},"readiness":{"description":"Tayyor holati: tayyor \/ qisman tayyor \/ tayyor emas","type":"string","example":"ready","nullable":true,"enum":["ready","partially_ready","not_ready"]},"status":{"description":"Dalolatnoma holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"file_path":{"type":"string","readOnly":true,"example":"pdf\/cotton-facility-reports\/paxta-maskan-dalolatnomasi-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/cotton-facility-reports\/paxta-maskan-dalolatnomasi-1.pdf","nullable":true},"users":{"description":"Komissiya a'zolari","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-26 14:30:00"}},"type":"object"},"CottonFacilityReportUsers":{"title":"Paxta maskan dalolatnomasini imzolovchilar ro'yxati","description":"Paxta maskan dalolatnomalarini imzolovchilar ro'yxati","properties":{"cotton_facility_report_id":{"description":"Paxta maskan dalolatnomasi ID","type":"integer","example":"1"},"full_name":{"description":"To'liq ism, familiya va sharifi","type":"string","example":"FISh"},"role":{"description":"Lavozimi","type":"string","example":""}},"type":"object"},"Enterprise":{"properties":{"id":{"type":"integer","example":1},"type":{"type":"string","example":"yuridik"},"legal_name":{"type":"string","example":"Simplex LLC"},"stir":{"type":"string","example":"123456789"},"director_full_name":{"type":"string","example":"Ivanov Ivan Ivanovich"},"ifut_code":{"type":"string","example":"10611"},"registration_date":{"type":"string","format":"date","example":"2024-01-15"},"registration_number":{"type":"string","example":"001234"},"address":{"type":"string","example":"Toshkent shahar, Chilonzor tumani"},"location":{"type":"object","example":"{\"latitude\": 41.311081, \"longitude\": 69.240562}","nullable":true}},"type":"object"},"FacilityEquipmentAndSupply":{"title":"FacilityEquipmentAndSupply","description":"Moddiy-texnika vositalari","properties":{"elevator":{"properties":{"exists":{"type":"boolean","example":true},"count":{"type":"integer","example":4},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"warehouse":{"properties":{"exists":{"type":"boolean","example":true},"count":{"type":"integer","example":4},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"porch":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"asphalt_area":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"sampling_place":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":2},"ready":{"type":"integer","example":2}},"type":"object","nullable":true},"analytical_laboratory":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"automobile_scale":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"scale_cameras":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":4},"ready":{"type":"integer","example":4}},"type":"object","nullable":true},"surveillance_cameras":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":4},"ready":{"type":"integer","example":4}},"type":"object","nullable":true},"camera_coverage":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":1},"ready":{"type":"integer","example":1}},"type":"object","nullable":true},"video_storage":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":1},"ready":{"type":"integer","example":1}},"type":"object","nullable":true},"wagon_scale":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"seed_preparation_workshop":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"grain_cleaning_machines":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"auto_tipper_dumper":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"mobile_transmission_device":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"tarpaulin":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"water_basin_reservoir":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"fire_shield":{"properties":{"exists":{"type":"boolean","example":true},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"cultural_houshold_premise":{"properties":{"exists":{"type":"boolean","example":true},"units":{"type":"string","example":"m2"},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"provision_normative_document":{"properties":{"exists":{"type":"boolean","example":true},"units":{"type":"string","example":"dona"},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"condition_of_corridor":{"properties":{"exists":{"type":"boolean","example":true},"units":{"type":"string","example":"metr"},"quantity":{"type":"integer","example":7},"ready":{"type":"integer","example":3}},"type":"object"},"as_required":{"type":"boolean","example":true,"nullable":true},"conclusion":{"type":"string","example":"tayyor holatda"},"assessment":{"type":"string","example":"yaxshi"}},"type":"object"},"FacilityConclusionReportRequest":{"title":"FacilityConclusionReportRequest","description":"Maskan haqida dalolatnoma berish - so'rov modeli","required":["company_name","collection_point","date","report_number","equipment_and_supply"],"properties":{"company_name":{"type":"string","example":"MTP Farg'ona"},"company_stir":{"description":"Korxona STIR","type":"integer","example":300000001,"nullable":true},"collection_point":{"type":"string","example":"Farg'ona viloyati, Qo'qon shahar don qabul punkti"},"date":{"type":"string","format":"date","example":"2026-01-30"},"report_number":{"type":"string","example":"123"},"region_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"district_id":{"description":"Tuman ID","type":"integer","example":1,"nullable":true},"type":{"description":"1-Don korxonalari, 2-G'allachilik klasterlari, 3-Kooperatsiyalar","type":"integer","example":1},"location[latitude]":{"description":"Kenglik","type":"number","format":"float","example":41.311081,"nullable":true},"location[longitude]":{"description":"Uzunlik","type":"number","format":"float","example":69.240562,"nullable":true},"status":{"description":"Xulosa holati","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"users":{"description":"Komissiya a'zolari","type":"array","items":{"required":["role","full_name"],"properties":{"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}},"equipment_and_supply[elevator][exists]":{"type":"boolean","example":true},"equipment_and_supply[elevator][count]":{"type":"integer","example":4},"equipment_and_supply[elevator][quantity]":{"type":"integer","example":7},"equipment_and_supply[elevator][ready]":{"type":"integer","example":3},"equipment_and_supply[warehouse][exists]":{"type":"boolean","example":true},"equipment_and_supply[warehouse][count]":{"type":"integer","example":4},"equipment_and_supply[warehouse][quantity]":{"type":"integer","example":7},"equipment_and_supply[warehouse][ready]":{"type":"integer","example":3},"equipment_and_supply[porch][exists]":{"type":"boolean","example":true},"equipment_and_supply[porch][quantity]":{"type":"integer","example":7},"equipment_and_supply[porch][ready]":{"type":"integer","example":3},"equipment_and_supply[asphalt_area][exists]":{"type":"boolean","example":true},"equipment_and_supply[asphalt_area][quantity]":{"type":"integer","example":7},"equipment_and_supply[asphalt_area][ready]":{"type":"integer","example":3},"equipment_and_supply[sampling_place][exists]":{"type":"boolean","example":true},"equipment_and_supply[sampling_place][quantity]":{"type":"integer","example":2},"equipment_and_supply[sampling_place][ready]":{"type":"integer","example":2},"equipment_and_supply[analytical_laboratory][exists]":{"type":"boolean","example":true},"equipment_and_supply[analytical_laboratory][quantity]":{"type":"integer","example":7},"equipment_and_supply[analytical_laboratory][ready]":{"type":"integer","example":3},"equipment_and_supply[automobile_scale][exists]":{"type":"boolean","example":true},"equipment_and_supply[automobile_scale][quantity]":{"type":"integer","example":7},"equipment_and_supply[automobile_scale][ready]":{"type":"integer","example":3},"equipment_and_supply[scale_cameras][exists]":{"type":"boolean","example":true},"equipment_and_supply[scale_cameras][quantity]":{"type":"integer","example":4},"equipment_and_supply[scale_cameras][ready]":{"type":"integer","example":4},"equipment_and_supply[surveillance_cameras][exists]":{"type":"boolean","example":true},"equipment_and_supply[surveillance_cameras][quantity]":{"type":"integer","example":4},"equipment_and_supply[surveillance_cameras][ready]":{"type":"integer","example":4},"equipment_and_supply[camera_coverage][exists]":{"type":"boolean","example":true},"equipment_and_supply[camera_coverage][quantity]":{"type":"integer","example":1},"equipment_and_supply[camera_coverage][ready]":{"type":"integer","example":1},"equipment_and_supply[video_storage][exists]":{"type":"boolean","example":true},"equipment_and_supply[video_storage][quantity]":{"type":"integer","example":1},"equipment_and_supply[video_storage][ready]":{"type":"integer","example":1},"equipment_and_supply[wagon_scale][exists]":{"type":"boolean","example":true},"equipment_and_supply[wagon_scale][quantity]":{"type":"integer","example":7},"equipment_and_supply[wagon_scale][ready]":{"type":"integer","example":3},"equipment_and_supply[seed_preparation_workshop][exists]":{"type":"boolean","example":true},"equipment_and_supply[seed_preparation_workshop][quantity]":{"type":"integer","example":7},"equipment_and_supply[seed_preparation_workshop][ready]":{"type":"integer","example":3},"equipment_and_supply[grain_cleaning_machines][exists]":{"type":"boolean","example":true},"equipment_and_supply[grain_cleaning_machines][quantity]":{"type":"integer","example":7},"equipment_and_supply[grain_cleaning_machines][ready]":{"type":"integer","example":3},"equipment_and_supply[auto_tipper_dumper][exists]":{"type":"boolean","example":true},"equipment_and_supply[auto_tipper_dumper][quantity]":{"type":"integer","example":7},"equipment_and_supply[auto_tipper_dumper][ready]":{"type":"integer","example":3},"equipment_and_supply[mobile_transmission_device][exists]":{"type":"boolean","example":true},"equipment_and_supply[mobile_transmission_device][quantity]":{"type":"integer","example":7},"equipment_and_supply[mobile_transmission_device][ready]":{"type":"integer","example":3},"equipment_and_supply[tarpaulin][exists]":{"type":"boolean","example":true},"equipment_and_supply[tarpaulin][quantity]":{"type":"integer","example":7},"equipment_and_supply[tarpaulin][ready]":{"type":"integer","example":3},"equipment_and_supply[water_basin_reservoir][exists]":{"type":"boolean","example":true},"equipment_and_supply[water_basin_reservoir][quantity]":{"type":"integer","example":7},"equipment_and_supply[water_basin_reservoir][ready]":{"type":"integer","example":3},"equipment_and_supply[fire_shield][exists]":{"type":"boolean","example":true},"equipment_and_supply[fire_shield][quantity]":{"type":"integer","example":7},"equipment_and_supply[fire_shield][ready]":{"type":"integer","example":3},"equipment_and_supply[cultural_houshold_premise][exists]":{"type":"boolean","example":true},"equipment_and_supply[cultural_houshold_premise][units]":{"type":"string","example":"m2"},"equipment_and_supply[cultural_houshold_premise][quantity]":{"type":"integer","example":7},"equipment_and_supply[cultural_houshold_premise][ready]":{"type":"integer","example":3},"equipment_and_supply[provision_normative_document][exists]":{"type":"boolean","example":true},"equipment_and_supply[provision_normative_document][units]":{"type":"string","example":"dona"},"equipment_and_supply[provision_normative_document][quantity]":{"type":"integer","example":7},"equipment_and_supply[provision_normative_document][ready]":{"type":"integer","example":3},"equipment_and_supply[condition_of_corridor][exists]":{"type":"boolean","example":true},"equipment_and_supply[condition_of_corridor][units]":{"type":"string","example":"metr"},"equipment_and_supply[condition_of_corridor][quantity]":{"type":"integer","example":7},"equipment_and_supply[condition_of_corridor][ready]":{"type":"integer","example":3},"equipment_and_supply[as_required]":{"type":"boolean","example":true,"nullable":true},"equipment_and_supply[conclusion]":{"type":"string","example":"tayyor holatda"},"equipment_and_supply[assessment]":{"type":"string","example":"yaxshi"},"files[elevator][]":{"description":"Elevator fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[warehouse][]":{"description":"Ombor fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[porch][]":{"description":"Navs fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[conclusion][]":{"description":"Xulosa fayllari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"},"FacilityConclusionReportResponse":{"title":"FacilityConclusionReportResponse","description":"Maskan haqida dalolatnoma berish - javob modeli","properties":{"id":{"type":"integer","example":1},"company_name":{"type":"string","example":"MTP Farg'ona"},"company_stir":{"description":"Korxona STIR","type":"integer","example":300000001,"nullable":true},"collection_point":{"type":"string","example":"Farg'ona viloyati, Qo'qon shahar don qabul punkti"},"date":{"type":"string","format":"date","example":"2026-01-30"},"report_number":{"type":"string","example":"123"},"type":{"description":"1-Don korxonalari, 2-G'allachilik klasterlari, 3-Kooperatsiyalar","type":"integer","example":1},"region_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"district_id":{"description":"Tuman ID","type":"integer","example":1,"nullable":true},"location":{"description":"Geografik joylashuv","properties":{"latitude":{"type":"number","format":"float","example":41.311081,"nullable":true},"longitude":{"type":"number","format":"float","example":69.240562,"nullable":true}},"type":"object","nullable":true},"users":{"description":"Komissiya a'zolari","type":"array","items":{"properties":{"id":{"type":"integer","example":1},"role":{"type":"string","example":"Komissiya raisi"},"full_name":{"type":"string","example":"Karimov A.A."}},"type":"object"}},"file_path":{"type":"string","example":"facility-reports\/report_123.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/facility-reports\/report_123.pdf","nullable":true},"equipment_and_supply":{"$ref":"#\/components\/schemas\/FacilityEquipmentAndSupply"},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"signed_at":{"description":"Imzolangan sana","type":"string","format":"date-time","example":null,"nullable":true},"rejected_at":{"description":"Rad etilgan sana","type":"string","format":"date-time","example":null,"nullable":true},"comment":{"description":"Rad etish sababi","type":"string","example":null,"nullable":true},"created_at":{"type":"string","format":"date-time","example":"2026-01-30 14:30:00"},"updated_at":{"type":"string","format":"date-time","example":"2026-01-30 14:30:00"},"files":{"description":"Yuklangan fayllar (elevator, warehouse, porch, conclusion)","properties":{"elevator":{"description":"Elevator fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"warehouse":{"description":"Ombor fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"porch":{"description":"Navs fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"conclusion":{"description":"Xulosa fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object"}},"type":"object"},"MillReportRequest":{"title":"MillReportRequest","description":"Tegirmon holati haqida dalolatnoma - so'rov modeli","required":["district_id","region_id","address","report_date","llc_company_name","conclusion","electronic_scale","specialists_with_qualifications","laboratory","laboratory_measuring_instruments","closed_containers","conveyor_belts","preparation_wheat_proccessing","wheat_processing_mill","mill_condition","brief_conclusion"],"properties":{"district_id":{"description":"Tuman ID","type":"integer","example":1},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"address":{"description":"Tegirmon manzili","type":"string","example":"Toshkent viloyati, Chirchiq shahri, Sanoat ko'chasi 15-uy"},"report_date":{"type":"string","format":"date","example":"2026-02-09"},"llc_company_name":{"type":"string","example":"BEST FLOUR PRODUCT MChJ"},"company_stir":{"description":"Korxona STIR","type":"integer","example":300000001,"nullable":true},"conclusion":{"type":"string","example":"Korxonada mavjud uskunalar ko'zdan kechirildi. Barcha texnologik liniyalar soz holatda ekanligi aniqlandi. Laboratoriya jihozlari to'liq butlangan va davlat qiyoslov ko'rigidan o'tkazilgan."},"users[]":{"description":"Komissiya a'zolari (foydalanuvchi ID lari)","type":"array","items":{"type":"integer","example":1}},"electronic_scale[units]":{"description":"Birlik","type":"string","example":"dona"},"electronic_scale[availability]":{"description":"Mavjudligi","type":"integer","example":2},"electronic_scale[meets_requirements_or_not]":{"description":"Talabga javob berishi","type":"integer","example":0},"specialists_with_qualifications[units]":{"type":"string","example":"nafar"},"specialists_with_qualifications[availability]":{"type":"integer","example":5},"specialists_with_qualifications[meets_requirements_or_not]":{"type":"integer","example":1},"laboratory[units]":{"type":"string","example":"dona"},"laboratory[availability]":{"type":"integer","example":1},"laboratory[meets_requirements_or_not]":{"type":"integer","example":1},"laboratory_measuring_instruments[units]":{"type":"string","example":"dona"},"laboratory_measuring_instruments[availability]":{"type":"integer","example":8},"laboratory_measuring_instruments[meets_requirements_or_not]":{"type":"integer","example":1},"closed_containers[elevator][units]":{"type":"string","example":"ming tn."},"closed_containers[elevator][availability]":{"type":"integer","example":10},"closed_containers[elevator][meets_requirements_or_not]":{"type":"integer","example":1},"closed_containers[storage][units]":{"type":"string","example":"ming tn."},"closed_containers[storage][availability]":{"type":"integer","example":15},"closed_containers[storage][meets_requirements_or_not]":{"type":"integer","example":1},"closed_containers[porches][units]":{"type":"string","example":"ming tn."},"closed_containers[porches][availability]":{"type":"integer","example":8},"closed_containers[porches][meets_requirements_or_not]":{"type":"integer","example":0},"conveyor_belts[units]":{"type":"string","example":"metr"},"conveyor_belts[availability]":{"type":"integer","example":50},"conveyor_belts[meets_requirements_or_not]":{"type":"integer","example":1},"preparation_wheat_proccessing[units]":{"type":"string","example":"tonna\/sutka"},"preparation_wheat_proccessing[availability]":{"type":"integer","example":100},"preparation_wheat_proccessing[meets_requirements_or_not]":{"type":"integer","example":95},"wheat_processing_mill[grain_cleaning_equipment][units]":{"type":"string","example":"dona"},"wheat_processing_mill[grain_cleaning_equipment][availability]":{"type":"integer","example":5},"wheat_processing_mill[grain_cleaning_equipment][meets_requirements_or_not]":{"type":"integer","example":1},"wheat_processing_mill[hydrothermal_treatment][units]":{"type":"string","example":"dona"},"wheat_processing_mill[hydrothermal_treatment][availability]":{"type":"integer","example":3},"wheat_processing_mill[hydrothermal_treatment][meets_requirements_or_not]":{"type":"integer","example":1},"wheat_processing_mill[first_grinding][units]":{"type":"string","example":"dona"},"wheat_processing_mill[first_grinding][availability]":{"type":"integer","example":4},"wheat_processing_mill[first_grinding][meets_requirements_or_not]":{"type":"integer","example":1},"wheat_processing_mill[flour_sifters][units]":{"type":"string","example":"dona"},"wheat_processing_mill[flour_sifters][availability]":{"type":"integer","example":6},"wheat_processing_mill[flour_sifters][meets_requirements_or_not]":{"type":"integer","example":0},"wheat_processing_mill[finished_product_bunker][units]":{"type":"string","example":"dona"},"wheat_processing_mill[finished_product_bunker][availability]":{"type":"integer","example":8},"wheat_processing_mill[finished_product_bunker][meets_requirements_or_not]":{"type":"integer","example":1},"wheat_processing_mill[packaging_section][units]":{"type":"string","example":"dona"},"wheat_processing_mill[packaging_section][availability]":{"type":"integer","example":2},"wheat_processing_mill[packaging_section][meets_requirements_or_not]":{"type":"integer","example":1},"wheat_processing_mill[finished_product_warehouse][units]":{"type":"string","example":"dona"},"wheat_processing_mill[finished_product_warehouse][availability]":{"type":"integer","example":3},"wheat_processing_mill[finished_product_warehouse][meets_requirements_or_not]":{"type":"integer","example":0},"mill_condition[units]":{"type":"string","example":"ball"},"mill_condition[availability]":{"type":"integer","example":5},"mill_condition[meets_requirements_or_not]":{"type":"integer","example":4},"brief_conclusion":{"type":"string","example":"javob beradi"},"files[electronic_scale][]":{"description":"Elektron tarozi rasmlari (jpg,jpeg,png,gif,bmp,svg,webp) yoki hujjatlari (doc,docx,pdf)","type":"array","items":{"type":"string","format":"binary"}},"files[specialists_with_qualifications][]":{"description":"Mutaxasislar rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[laboratory][]":{"description":"Laboratoriya rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[laboratory_measuring_instruments][]":{"description":"Laboratoriya o'lchov vositalari rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[closed_containers][]":{"description":"Yopiq idishlar rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[conveyor_belts][]":{"description":"Konveyer lentalari rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[preparation_wheat_proccessing][]":{"description":"Bug'doy qayta ishlash tayyorgarlik rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[wheat_processing_mill][]":{"description":"Bug'doy qayta ishlash tegirmoni rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[mill_condition][]":{"description":"Tegirmon holati rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[disputed_cases][]":{"description":"Nizoli holatlar fayllari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"},"MillReportResponse":{"title":"MillReportResponse","description":"Tegirmon holati haqida dalolatnoma - javob modeli","properties":{"id":{"type":"integer","readOnly":true,"example":1},"district_id":{"description":"Tuman ID","type":"integer","example":1},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"region":{"description":"Viloyat nomi","type":"string","readOnly":true,"example":"Farg'ona viloyati"},"address":{"description":"Tegirmon manzili","type":"string","example":"Toshkent viloyati, Chirchiq shahri, Sanoat ko'chasi 15-uy"},"report_date":{"type":"string","format":"date","example":"2026-02-09"},"llc_company_name":{"type":"string","example":"BEST FLOUR PRODUCT MChJ"},"company_stir":{"description":"Korxona STIR","type":"integer","example":300000001,"nullable":true},"conclusion":{"type":"string","example":"Korxonada mavjud uskunalar ko'zdan kechirildi. Barcha texnologik liniyalar soz holatda ekanligi aniqlandi. Laboratoriya jihozlari to'liq butlangan va davlat qiyoslov ko'rigidan o'tkazilgan."},"users":{"description":"Komissiya a'zolari","type":"array","items":{"$ref":"#\/components\/schemas\/User"}},"electronic_scale":{"type":"object","example":{"units":"dona","availability":2,"meets_requirements_or_not":0}},"specialists_with_qualifications":{"type":"object","example":{"units":"nafar","availability":5,"meets_requirements_or_not":1}},"laboratory":{"type":"object","example":{"units":"dona","availability":1,"meets_requirements_or_not":1}},"laboratory_measuring_instruments":{"type":"object","example":{"units":"dona","availability":8,"meets_requirements_or_not":1}},"closed_containers":{"type":"object","example":{"elevator":{"units":"ming tn.","availability":10,"meets_requirements_or_not":1},"storage":{"units":"ming tn.","availability":15,"meets_requirements_or_not":1},"porches":{"units":"ming tn.","availability":8,"meets_requirements_or_not":0}}},"conveyor_belts":{"type":"object","example":{"units":"metr","availability":50,"meets_requirements_or_not":1}},"preparation_wheat_proccessing":{"type":"object","example":{"units":"tonna\/sutka","availability":100,"meets_requirements_or_not":95}},"wheat_processing_mill":{"type":"object","example":{"grain_cleaning_equipment":{"units":"dona","availability":5,"meets_requirements_or_not":1},"hydrothermal_treatment":{"units":"dona","availability":3,"meets_requirements_or_not":1},"first_grinding":{"units":"dona","availability":4,"meets_requirements_or_not":1},"flour_sifters":{"units":"dona","availability":6,"meets_requirements_or_not":0},"finished_product_bunker":{"units":"dona","availability":8,"meets_requirements_or_not":1},"packaging_section":{"units":"dona","availability":2,"meets_requirements_or_not":1},"finished_product_warehouse":{"units":"dona","availability":3,"meets_requirements_or_not":0}}},"mill_condition":{"type":"object","example":{"units":"ball","availability":5,"meets_requirements_or_not":4}},"brief_conclusion":{"type":"string","example":"javob beradi"},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"file_path":{"type":"string","readOnly":true,"example":"pdf\/mill-reports\/tegirmon-dalolatnoma-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/mill-reports\/tegirmon-dalolatnoma-1.pdf","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-09 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-09 14:30:00"},"files":{"description":"Yuklangan fayllar (collection nomi bo'yicha guruplangan)","properties":{"electronic_scale":{"description":"Elektron tarozi rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"specialists_with_qualifications":{"description":"Mutaxasislar rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"laboratory":{"description":"Laboratoriya rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"laboratory_measuring_instruments":{"description":"Laboratoriya o'lchov vositalari rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"closed_containers":{"description":"Yopiq idishlar rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"conveyor_belts":{"description":"Konveyer lentalari rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"preparation_wheat_proccessing":{"description":"Bug'doy qayta ishlash tayyorgarlik rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"wheat_processing_mill":{"description":"Bug'doy qayta ishlash tegirmoni rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"mill_condition":{"description":"Tegirmon holati rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"disputed_cases":{"description":"Nizoli holatlar fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object","readOnly":true,"nullable":true}},"type":"object"},"OilFatReportRequest":{"title":"OilFatReportRequest","description":"Yog'-moy korxonasini o'rganish dalolatnomasi - so'rov (multipart\/form-data)","required":["region_id","district_id"],"properties":{"report_number":{"description":"Dalolatnoma raqami","type":"string","example":"101","nullable":true},"report_date":{"description":"Dalolatnoma sanasi","type":"string","format":"date","example":"2026-02-19","nullable":true},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"district_id":{"description":"Tuman ID","type":"integer","example":1},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","nullable":true,"enum":["waiting","rejected","signed"]},"users[]":{"description":"Komissiya a'zolari (foydalanuvchi ID lari)","type":"array","items":{"type":"integer","example":1}},"department_head_order[order_number]":{"description":"Buyruq raqami","type":"string","example":"12-son","nullable":true},"department_head_order[order_date]":{"description":"Buyruq sanasi","type":"string","example":"2026-01-01","nullable":true},"department_head_order[inspection_assignment_date]":{"description":"Tekshirish topshirig'i sanasi","type":"string","example":"2026-01-05","nullable":true},"department_head_order[inspection_assignment_letter_number]":{"description":"Tekshirish topshirig'i xat raqami","type":"string","example":"45-son","nullable":true},"enterprise_application_letter[date]":{"description":"Ariza xati sanasi","type":"string","example":"2026-01-01","nullable":true},"enterprise_application_letter[number]":{"description":"Ariza xati raqami","type":"string","example":"123-son","nullable":true},"business_ombudsman[date]":{"description":"Biznes ombudsman sanasi","type":"string","example":"2026-01-01","nullable":true},"business_ombudsman[number]":{"description":"Biznes ombudsman raqami","type":"string","example":"123-son","nullable":true},"inspection_info[start_date]":{"description":"Tekshirish boshlanish sanasi","type":"string","example":"2026-02-01","nullable":true},"inspection_info[end_date]":{"description":"Tekshirish tugash sanasi","type":"string","example":"2026-02-10","nullable":true},"name":{"description":"Korxona nomi","type":"string","example":"GOLDEN OIL PRODUCT MChJ","nullable":true},"stir":{"description":"STIR raqami","type":"integer","format":"int64","example":123456789,"nullable":true},"director_full_name":{"description":"Direktor F.I.SH","type":"string","example":"Ahmadov Anvar Akramovich","nullable":true},"ifut_code":{"description":"IFUT kodi","type":"string","example":"10411","nullable":true},"registration_date":{"description":"Ro'yxatdan o'tgan sana","type":"string","format":"date","example":"2020-05-15","nullable":true},"registration_number":{"description":"Guvohnoma raqami","type":"string","example":"12345","nullable":true},"full_address":{"description":"To'liq manzil","type":"string","example":"Farg'ona viloyati, Qo'qon shahri, Sanoat ko'chasi 15","nullable":true},"location[latitude]":{"description":"Kenglik","type":"number","format":"float","example":40.5283,"nullable":true},"location[longitude]":{"description":"Uzunlik","type":"number","format":"float","example":70.9426,"nullable":true},"production_capacity":{"description":"Ishlab chiqarish quvvati (tonna\/sutka)","type":"integer","example":500,"nullable":true},"is_representative_required":{"description":"Savdo-sanoat palatasi qatnashishi zaruriyati","type":"boolean","example":true,"nullable":true},"yogmoysanoat_representative_full_name":{"description":"Yog'moysanoat vakili","type":"string","example":"Ismoilov Ilhom Ibrohimovich","nullable":true},"technical_regulation_representative_full_name":{"description":"Texnik tartibga solish vakili","type":"string","example":"Rahimov Rustam Rashidovich","nullable":true},"public_health_representative_full_name":{"description":"Sanitariya-epidemiologik xizmat vakili","type":"string","example":"Salimov Sardor Saidovich","nullable":true},"governor_district_id":{"description":"Hokim tuman ID","type":"integer","example":1,"nullable":true},"governor_report_info[date]":{"description":"Hokim ma'lumotnomasi sanasi","type":"string","example":"2026-01-01","nullable":true},"governor_report_info[number]":{"description":"Hokim ma'lumotnomasi raqami","type":"string","example":"123-son","nullable":true},"studied":{"description":"O'rganish natijasi","type":"string","example":"Jamiyat tomonidan birja savdolari orqali paxta texnik chigiti olinganligi ma'lum bo'ldi.","nullable":true},"storage[exists]":{"description":"Ombor mavjudligi","type":"string","example":"mavjud","nullable":true},"storage[capacity]":{"description":"Ombor sig'imi","type":"string","example":"1000","nullable":true},"confirmed_region_id":{"description":"Tasdiqlangan tuman ID","type":"integer","example":1,"nullable":true},"technological_guidance[date]":{"description":"Texnologik yo'riqnoma sanasi","type":"string","example":"2026-01-01","nullable":true},"technological_guidance[number]":{"description":"Texnologik yo'riqnoma raqami","type":"string","example":"TY-123","nullable":true},"reglament_date":{"description":"Texnologik reglament sanasi","type":"string","format":"date","example":"2025-06-15","nullable":true},"sanepid_region_id":{"description":"Sanepid viloyat ID","type":"integer","example":1,"nullable":true},"sanepid_conclusion[date]":{"description":"Sanepid xulosa sanasi","type":"string","example":"2026-01-01","nullable":true},"sanepid_conclusion[number]":{"description":"Sanepid xulosa raqami","type":"string","example":"SE-123","nullable":true},"sanepid_conclusion[due_date]":{"description":"Sanepid xulosa amal qilish muddati","type":"string","example":"2027-01-01","nullable":true},"sanepid_conclusion[benzapiren_statement_number]":{"description":"Benzapiren bayonnoma raqami","type":"string","example":"B-456","nullable":true},"sanepid_conclusion[gossipol_statement_number]":{"description":"Gossipol bayonnoma raqami","type":"string","example":"G-789","nullable":true},"additional":{"description":"Qo'shimcha ma'lumotlar","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"permitted_region_id":{"description":"Ruxsat bergan viloyat ID","type":"integer","example":1,"nullable":true},"vet_permit_info[date]":{"description":"Vet ruxsatnoma sanasi","type":"string","example":"2026-01-01","nullable":true},"vet_permit_info[number]":{"description":"Vet ruxsatnoma raqami","type":"string","example":"VP-123","nullable":true},"vet_permit_info[due_date]":{"description":"Vet ruxsatnoma amal qilish muddati","type":"string","example":"2027-01-01","nullable":true},"certificate[date]":{"description":"Sertifikat sanasi","type":"string","example":"2026-01-01","nullable":true},"certificate[number]":{"description":"Sertifikat raqami","type":"string","example":"UZ-ISO-2025-123","nullable":true},"certificate[due_date]":{"description":"Sertifikat amal qilish muddati","type":"string","example":"2027-01-01","nullable":true},"is_lab_available":{"description":"Laboratoriya mavjudligi","type":"boolean","example":true,"nullable":true},"contracted_lab_name":{"description":"Shartnomali laboratoriya nomi","type":"string","example":"Agrokimyo laboratoriyasi","nullable":true},"contract_info[date]":{"description":"Shartnoma sanasi","type":"string","example":"2026-01-01","nullable":true},"contract_info[number]":{"description":"Shartnoma raqami","type":"string","example":"SH-123","nullable":true},"contract_info[due_date]":{"description":"Shartnoma amal qilish muddati","type":"string","example":"2027-01-01","nullable":true},"metrological_checked_district_id":{"description":"Metrologik qiyoslovdan o'tkazilgan tuman ID","type":"integer","example":1,"nullable":true},"checked_tool_name":{"description":"O'lchov vositasi nomi","type":"string","example":"Elektron tarozi, termometr, areometr","nullable":true},"certificate_info[date]":{"description":"Sertifikat sanasi","type":"string","example":"2026-01-01","nullable":true},"certificate_info[due_date]":{"description":"Sertifikat amal qilish muddati","type":"string","example":"2027-01-01","nullable":true},"detected_issues":{"description":"Aniqlangan kamchiliklar","type":"string","example":"Tozalik me'yorlariga rioya qilinishi lozim","nullable":true},"conclusion":{"description":"Xulosa","type":"string","example":"Birja savdolarida qatnashishi maqsadga muvofiq","nullable":true},"recommendation":{"description":"Tavsiya","type":"string","example":"To'liq texnologik siklda ishlab chiqarish tavsiya etiladi","nullable":true},"report_appendix":{"description":"Dalolatnoma ilovasi","type":"string","example":"Dalolatnomaga ilova qilingan qo'shimcha ma'lumotlar","nullable":true},"meets_requirements":{"description":"Talablarga muvofiqligi","type":"boolean","example":true,"nullable":true},"action_taken":{"description":"Ko'rilgan chora","type":"string","example":"warning","nullable":true,"enum":["warning","written_instruction","administrative_report"]},"letter_date":{"description":"Birjaga xat sanasi","type":"string","format":"date","example":"2026-02-20","nullable":true},"letter_number":{"description":"Birjaga xat raqami","type":"string","example":"XAT-123","nullable":true},"brand_name":{"description":"Brend nomi","type":"string","example":"Golden Oil","nullable":true},"iso22000_cert_exists":{"description":"ISO 22000 sertifikati mavjudligi","type":"boolean","example":true,"nullable":true},"permit_type":{"description":"Ruxsatnoma turi","type":"string","example":"mahsulot ishlab chiqarish","nullable":true},"files[enterprise_application][]":{"description":"Korxona murojaati fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[yogmoysanoat_representative][]":{"description":"Yog'moysanoat xulosasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[technical_regulation][]":{"description":"Texnik tartibga solish xulosasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[public_health_representative][]":{"description":"Sanepid xulosasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[acceptance_act][]":{"description":"Qabul dalolatnomasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[technological_guidance][]":{"description":"Texnologik yo'riqnoma fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[reglament][]":{"description":"Texnologik reglament fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[sanepid_conclusion][]":{"description":"Sanepid xulosa fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[vet_permit_info][]":{"description":"Veterinariya ruxsatnomasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[certificate][]":{"description":"Muvofiqlik sertifikati fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[governor_report][]":{"description":"Hokim ma'lumotnomasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[license][]":{"description":"Litsenziya fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[letter][]":{"description":"Ilova fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[effect_measure][]":{"description":"Ta'sir chorasi fayllari","type":"array","items":{"type":"string","format":"binary"}},"files[material_to_law_enforcement][]":{"description":"Huquq-tartibot organlariga materiallar","type":"array","items":{"type":"string","format":"binary"}},"files[core_crushing][]":{"description":"Yadroni maydalash rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[hydrothermal_processing][]":{"description":"Gidrotermik ishlov rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[pressing][]":{"description":"Presslash rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[refining][]":{"description":"Rafinatsiya rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[deodorization][]":{"description":"Deodorizatsiya rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[extraction][]":{"description":"Ekstraktsiya rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[packing][]":{"description":"Qadoqlash rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[expander][]":{"description":"Ekspander rasmlari","type":"array","items":{"type":"string","format":"binary"}},"files[packaging_label][]":{"description":"Qadoq yorlig'i rasmlari","type":"array","items":{"type":"string","format":"binary"}}},"type":"object"},"OilFatReportResponse":{"title":"OilFatReportResponse","description":"Yog'-moy korxonasini o'rganish dalolatnomasi - javob","properties":{"id":{"type":"integer","readOnly":true,"example":1},"report_number":{"description":"Dalolatnoma raqami","type":"string","example":"101","nullable":true},"report_date":{"description":"Dalolatnoma sanasi","type":"string","format":"date","example":"2026-02-19","nullable":true},"region_id":{"description":"Viloyat ID","type":"integer","example":1},"region":{"description":"Viloyat nomi","type":"string","readOnly":true,"example":"Farg'ona viloyati"},"district_id":{"description":"Tuman ID","type":"integer","example":1},"district":{"description":"Tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"status":{"description":"Xulosa holati (waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"file_path":{"type":"string","readOnly":true,"example":"pdf\/oil-fat-reports\/yog-moy-dalolatnoma-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/oil-fat-reports\/yog-moy-dalolatnoma-1.pdf","nullable":true},"users":{"description":"Komissiya a'zolari","type":"array","items":{"$ref":"#\/components\/schemas\/User"}},"department_head_order":{"description":"Boshqarma boshlig'i buyrug'i","properties":{"order_number":{"type":"string","example":"12-son","nullable":true},"order_date":{"type":"string","example":"2026-01-01","nullable":true},"inspection_assignment_date":{"type":"string","example":"2026-01-05","nullable":true},"inspection_assignment_letter_number":{"type":"string","example":"45-son","nullable":true}},"type":"object","nullable":true},"enterprise_application_letter":{"description":"Korxona ariza xati","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"123-son","nullable":true}},"type":"object","nullable":true},"business_ombudsman":{"description":"Biznes ombudsman","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"123-son","nullable":true}},"type":"object","nullable":true},"inspection_info":{"description":"Tekshirish muddati","properties":{"start_date":{"description":"Tekshirish boshlanish sanasi","type":"string","example":"2026-02-01","nullable":true},"end_date":{"description":"Tekshirish tugash sanasi","type":"string","example":"2026-02-10","nullable":true}},"type":"object","nullable":true},"name":{"description":"Korxona nomi","type":"string","example":"GOLDEN OIL PRODUCT MChJ","nullable":true},"stir":{"description":"STIR raqami","type":"integer","format":"int64","example":123456789,"nullable":true},"director_full_name":{"description":"Direktor F.I.SH","type":"string","example":"Ahmadov Anvar Akramovich","nullable":true},"ifut_code":{"description":"IFUT kodi","type":"string","example":"10411","nullable":true},"registration_date":{"description":"Ro'yxatdan o'tgan sana","type":"string","format":"date","example":"2020-05-15","nullable":true},"registration_number":{"description":"Guvohnoma raqami","type":"string","example":"12345","nullable":true},"full_address":{"description":"To'liq manzil","type":"string","example":"Farg'ona viloyati, Qo'qon shahri, Sanoat ko'chasi 15","nullable":true},"location":{"description":"Geografik joylashuv","properties":{"latitude":{"type":"number","format":"float","example":40.5283,"nullable":true},"longitude":{"type":"number","format":"float","example":70.9426,"nullable":true}},"type":"object","nullable":true},"production_capacity":{"description":"Ishlab chiqarish quvvati (tonna\/sutka)","type":"integer","example":500,"nullable":true},"is_representative_required":{"description":"Savdo-sanoat palatasi qatnashishi zaruriyati","type":"boolean","example":true,"nullable":true},"yogmoysanoat_representative_full_name":{"description":"Yog'moysanoat vakili","type":"string","example":"Ismoilov Ilhom Ibrohimovich","nullable":true},"technical_regulation_representative_full_name":{"description":"Texnik tartibga solish vakili","type":"string","example":"Rahimov Rustam Rashidovich","nullable":true},"public_health_representative_full_name":{"description":"Sanitariya-epidemiologik xizmat vakili","type":"string","example":"Salimov Sardor Saidovich","nullable":true},"governor_district_id":{"description":"Hokim tuman ID","type":"integer","example":1,"nullable":true},"governor_district":{"description":"Hokim tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"governor_report_info":{"description":"Hokim ma'lumotnomasi","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"123-son","nullable":true}},"type":"object","nullable":true},"studied":{"description":"O'rganish natijasi","type":"string","example":"Jamiyat tomonidan birja savdolari orqali paxta texnik chigiti olinganligi ma'lum bo'ldi.","nullable":true},"storage":{"description":"Ombor ma'lumotlari","properties":{"exists":{"type":"string","example":"mavjud","nullable":true},"capacity":{"type":"string","example":"1000","nullable":true}},"type":"object","nullable":true},"confirmed_region_id":{"description":"Tasdiqlangan tuman ID","type":"integer","example":1,"nullable":true},"confirmed_region":{"type":"string","readOnly":true,"example":"Qo'qon tumani"},"technological_guidance":{"description":"Texnologik yo'riqnoma","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"TY-123","nullable":true}},"type":"object","nullable":true},"reglament_date":{"description":"Texnologik reglament sanasi","type":"string","format":"date","example":"2025-06-15","nullable":true},"sanepid_region_id":{"description":"Sanepid viloyat ID","type":"integer","example":1,"nullable":true},"sanepid_district":{"type":"string","readOnly":true,"example":"Qo'qon tumani"},"sanepid_conclusion":{"description":"Sanitariya-epidemiologik xulosa","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"SE-123","nullable":true},"due_date":{"type":"string","example":"2027-01-01","nullable":true},"benzapiren_statement_number":{"type":"string","example":"B-456","nullable":true},"gossipol_statement_number":{"type":"string","example":"G-789","nullable":true}},"type":"object","nullable":true},"additional":{"description":"Qo'shimcha ma'lumotlar","type":"string","example":"Qo'shimcha ma'lumot","nullable":true},"permitted_region_id":{"description":"Ruxsat bergan viloyat ID","type":"integer","example":1,"nullable":true},"permitted_district":{"type":"string","readOnly":true,"example":"Qo'qon tumani"},"vet_permit_info":{"description":"Veterinariya-sanitariya ruxsatnomasi","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"VP-123","nullable":true},"due_date":{"type":"string","example":"2027-01-01","nullable":true}},"type":"object","nullable":true},"certificate":{"description":"Muvofiqlik sertifikati","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"UZ-ISO-2025-123","nullable":true},"due_date":{"type":"string","example":"2027-01-01","nullable":true}},"type":"object","nullable":true},"is_lab_available":{"description":"Laboratoriya mavjudligi","type":"boolean","example":true,"nullable":true},"contracted_lab_name":{"description":"Shartnomali laboratoriya nomi","type":"string","example":"Agrokimyo laboratoriyasi","nullable":true},"contract_info":{"description":"Shartnoma ma'lumotlari","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"number":{"type":"string","example":"SH-123","nullable":true},"due_date":{"type":"string","example":"2027-01-01","nullable":true}},"type":"object","nullable":true},"metrological_checked_district_id":{"description":"Metrologik qiyoslovdan o'tkazilgan tuman ID","type":"integer","example":1,"nullable":true},"metrological_checked_district":{"description":"Metrologik qiyoslovdan o'tkazilgan tuman nomi","type":"string","readOnly":true,"example":"Qo'qon tumani"},"checked_tool_name":{"description":"O'lchov vositasi nomi","type":"string","example":"Elektron tarozi, termometr, areometr","nullable":true},"certificate_info":{"description":"Sertifikat ma'lumotlari","properties":{"date":{"type":"string","example":"2026-01-01","nullable":true},"due_date":{"type":"string","example":"2027-01-01","nullable":true}},"type":"object","nullable":true},"detected_issues":{"description":"Aniqlangan kamchiliklar","type":"string","example":"Tozalik me'yorlariga rioya qilinishi lozim","nullable":true},"conclusion":{"description":"Xulosa","type":"string","example":"Birja savdolarida qatnashishi maqsadga muvofiq","nullable":true},"recommendation":{"description":"Tavsiya","type":"string","example":"To'liq texnologik siklda ishlab chiqarish tavsiya etiladi","nullable":true},"report_appendix":{"description":"Dalolatnoma ilovasi","type":"string","example":"Dalolatnomaga ilova qilingan qo'shimcha ma'lumotlar","nullable":true},"meets_requirements":{"description":"Talablarga muvofiqligi","type":"boolean","example":true,"nullable":true},"action_taken":{"description":"Ko'rilgan chora","type":"string","example":"warning","nullable":true,"enum":["warning","written_instruction","administrative_report"]},"letter_date":{"description":"Birjaga xat sanasi","type":"string","format":"date","example":"2026-02-20","nullable":true},"letter_number":{"description":"Birjaga xat raqami","type":"string","example":"XAT-123","nullable":true},"brand_name":{"description":"Brend nomi","type":"string","example":"Golden Oil","nullable":true},"iso22000_cert_exists":{"description":"ISO 22000 sertifikati mavjudligi","type":"boolean","example":true,"nullable":true},"permit_type":{"description":"Ruxsatnoma turi","type":"string","example":"mahsulot ishlab chiqarish","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-19 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-19 14:30:00"},"files":{"description":"Yuklangan fayllar (collection nomi bo'yicha guruplangan)","properties":{"enterprise_application":{"description":"Korxona murojaati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"yogmoysanoat_representative":{"description":"Yog'moysanoat xulosasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"technical_regulation":{"description":"Texnik tartibga solish xulosasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"public_health_representative":{"description":"Sanepid xulosasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"acceptance_act":{"description":"Qabul dalolatnomasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"technological_guidance":{"description":"Texnologik yo'riqnoma fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"reglament":{"description":"Texnologik reglament fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"sanepid_conclusion":{"description":"Sanepid xulosa fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"vet_permit_info":{"description":"Veterinariya ruxsatnomasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"certificate":{"description":"Muvofiqlik sertifikati fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"governor_report":{"description":"Hokim ma'lumotnomasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"license":{"description":"Litsenziya fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"letter":{"description":"Ilova fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"effect_measure":{"description":"Ta'sir chorasi fayllari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"material_to_law_enforcement":{"description":"Huquq-tartibot organlariga materiallar","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"core_crushing":{"description":"Yadroni maydalash rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"hydrothermal_processing":{"description":"Gidrotermik ishlov rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"pressing":{"description":"Presslash rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"refining":{"description":"Rafinatsiya rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"deodorization":{"description":"Deodorizatsiya rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"extraction":{"description":"Ekstraktsiya rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"packing":{"description":"Qadoqlash rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"expander":{"description":"Ekspander rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}},"packaging_label":{"description":"Qadoq yorlig'i rasmlari","type":"array","items":{"$ref":"#\/components\/schemas\/MediaFile"}}},"type":"object","readOnly":true,"nullable":true}},"type":"object"},"User":{"title":"User","description":"Foydalanuvchi ma'lumotlari","properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Rahimov Odil Shavkatovich"},"position":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Bosh mutaxassis"},"department_id":{"type":"integer","example":1},"is_active":{"type":"boolean","example":true}},"type":"object"},"signed_or_rejected_info":{"properties":{"signature":{"type":"string","example":null,"nullable":true},"is_signed":{"type":"boolean","example":false},"comment":{"type":"string","example":null,"nullable":true},"status":{"type":"string","example":"waiting","enum":["waiting","rejected","signed"]},"signed_at":{"type":"string","format":"date-time","example":null,"nullable":true},"rejected_at":{"type":"string","format":"date-time","example":null,"nullable":true},"updated_at":{"type":"string","format":"date-time","example":"2026-03-15 10:30:00"},"created_at":{"type":"string","format":"date-time","example":"2026-03-15 10:30:00"}},"type":"object"}},"type":"object"},"MediaFile":{"title":"MediaFile","description":"Spatie Media Library orqali saqlangan fayl (barcha modellar uchun umumiy)","properties":{"id":{"description":"Media ID","type":"integer","example":1},"collection_name":{"description":"Collection nomi (enum qiymati)","type":"string","example":"electronic_scale"},"file_name":{"description":"Fayl nomi","type":"string","example":"document.pdf"},"mime_type":{"description":"MIME turi","type":"string","example":"application\/pdf"},"size":{"description":"Fayl hajmi (baytlarda)","type":"integer","example":1048576},"url":{"description":"Faylga havola","type":"string","example":"https:\/\/s3.example.com\/media\/1\/document.pdf"},"created_at":{"description":"Yaratilgan sana","type":"string","format":"date-time","example":"2026-02-27 14:30:00"}},"type":"object"},"RegionalDepartmentSpecialistReport":{"properties":{"date":{"type":"string","format":"date","example":"2026-02-09"},"specialist_full_name":{"type":"string","example":"Karimov Jasur"},"region":{"type":"string","example":"Toshkent"},"explanation":{"type":"string","example":"Difference due to re-measurement."},"addition_to_quantity_difference":{"description":"Miqdor farqiga qo'shimcha: a(foiz, og'irlik), b(foiz, og'irlik), overall_weight","properties":{"a":{"properties":{"percentage":{"type":"number","example":1.5},"weight":{"type":"number","example":50}},"type":"object"},"b":{"properties":{"percentage":{"type":"number","example":0.8},"weight":{"type":"number","example":25}},"type":"object"},"overall_weight":{"type":"number","example":75}},"type":"object","nullable":true},"writeoff_of_shortage":{"description":"Kamolligini yozib tashlash: grain, a(foiz, og'irlik), b(foiz, og'irlik), v(foiz, og'irlik), total_justification, total_justification_in_words","properties":{"grain":{"type":"string","example":"Bug'doy"},"a":{"properties":{"percentage":{"type":"number","example":1.25},"weight":{"type":"number","example":12.5}},"type":"object"},"b":{"properties":{"percentage":{"type":"number","example":0.5},"weight":{"type":"number","example":5}},"type":"object"},"v":{"properties":{"percentage":{"type":"number","example":0.25},"weight":{"type":"number","example":2.5}},"type":"object"},"total_justification":{"type":"number","example":20},"total_justification_in_words":{"type":"string","example":"Yigirma"}},"type":"object","nullable":true},"unjustified_shortage_excess_balance":{"description":"Asoslanmagan kamollik va ortiqcha balans: defecit, overage","properties":{"defecit":{"type":"integer","example":10},"overage":{"type":"integer","example":0}},"type":"object","nullable":true},"refusal_for_reason":{"type":"string","example":null,"nullable":true},"regional_specialist_full_name":{"type":"string","example":"Karimov Jasur"},"specialist_signature":{"type":"string","example":"specialist_sign.png"},"specialist_comment":{"description":"Mutaxassis rad etish sababi","type":"string","example":null,"nullable":true},"specialist_status":{"description":"Mutaxassis imzolash holati","type":"string","example":"waiting","nullable":true,"enum":["waiting","signed","rejected"]},"specialist_signed_at":{"description":"Mutaxassis imzolagan sana","type":"string","format":"date-time","example":null,"nullable":true},"specialist_rejected_at":{"description":"Mutaxassis rad etgan sana","type":"string","format":"date-time","example":null,"nullable":true},"regional_specialist_comment":{"type":"string","example":null,"nullable":true},"financial_responsible_person_full_name":{"type":"string","example":"Aliyev Botir"},"responsible_person_signature":{"type":"string","example":"resp_sign.png"},"responsible_person_comment":{"description":"Mas'ul shaxs rad etish sababi","type":"string","example":null,"nullable":true},"responsible_person_status":{"description":"Mas'ul shaxs imzolash holati","type":"string","example":"waiting","nullable":true,"enum":["waiting","signed","rejected"]},"responsible_person_signed_at":{"description":"Mas'ul shaxs imzolagan sana","type":"string","format":"date-time","example":null,"nullable":true},"responsible_person_rejected_at":{"description":"Mas'ul shaxs rad etgan sana","type":"string","format":"date-time","example":null,"nullable":true}},"type":"object"},"PreviousCleaningAct":{"properties":{"act_number":{"type":"string","example":"12"},"start_date":{"type":"string","format":"date","example":"2026-01-20"},"end_date":{"type":"string","format":"date","example":"2026-03-20"},"cleaning_type":{"type":"string","example":"Quyoshda quritish"},"given_grain_quantity":{"type":"integer","example":1000},"received_grain_and_waste_quantity":{"type":"object","example":{"waste_1_2_grade":"50","waste_3_grade":"20"}}},"type":"object"},"GrainInspectionReportRequest":{"title":"GrainInspectionReportRequest","description":"Tozalov dalolatnomasi 30-shakl \u2014 so'rov (request) sxemasi","properties":{"region_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"supervising_authority_name":{"type":"string","example":"Qishloq xo'jaligi vazirligi"},"enterprise_name":{"type":"string","example":"Toshkent don ombori"},"branch_name":{"type":"string","example":"Yunusobod bo'limi"},"inspection_number":{"type":"string","example":"12"},"inspection_date":{"type":"string","format":"date","example":"2026-02-09"},"status":{"description":"draft-qoralama","type":"string","example":"draft","nullable":true,"enum":["draft","waiting","rejected","signed"]},"head_full_name":{"type":"string","example":"Rahimov Odil Shavkatovich"},"company_stir":{"type":"integer","example":151561651,"nullable":true},"head_signature":{"type":"string","example":"signatures\/head_12345.png"},"head_of_laboratory_full_name":{"type":"string","example":"Karimova Dilnoza Ravshanovna"},"chief_accountant_full_name":{"type":"string","example":"Aliyev Botir Mahmudovich"},"materially_responsible_person_full_name":{"type":"string","example":"Ismoilov Sardor Akramovich"},"materially_responsible_person_position":{"type":"string","example":"Ombor mudiri"},"product_name_type_sort":{"type":"object","example":{"product_name":"Bug'doy","type":"ozuqaviy","sort":"1"}},"storage_place":{"type":"string","example":"Asosiy ombor"},"balance":{"type":"object","example":{"date":"09.02.2026","place_count":"10 sochma","quantity":"1000","moisture":"11.25","impurity":"4.30"}},"received_from_until":{"type":"object","example":{"from_date":"15.01.2026","to_date":"09.02.2026","place_count":"5 qop","quantity":"500","moisture":"10.50","impurity":"3.20"}},"total":{"type":"object","example":{"place_count":"15 sochma","quantity":"1500","moisture":"10.87","impurity":"3.75"}},"grain_without_waste_from_until":{"type":"object","example":{"from_date":"15.01.2026","to_date":"09.02.2026","place_count":"12 sochma","quantity":"1200","moisture":"10.00","impurity":"2.50"}},"grain_waste_1_2_grade":{"type":"object","example":{"place_count":"2 qop","quantity":"150","moisture":"9.50","impurity":"5.00"}},"grain_waste_3_grade":{"type":"object","example":{"place_count":"1 qop","quantity":"50","moisture":"9.00","impurity":"7.00"}},"remeasurement_remainder_for_date":{"type":"object","example":{"date":"10.02.2026","place_count":"13 sochma","quantity":"1300","moisture":"10.25","impurity":"3.00"}},"total_2":{"type":"object","example":{"place_count":"15 sochma","quantity":"1500","moisture":"10.00","impurity":"3.50"}},"accepted_output_difference":{"type":"object","example":{"place_count":"0","quantity":"10","moisture":"0.25","impurity":"0.10"}},"addition_to_moisture_and_impurity":{"type":"object","example":{"place_count":"1","quantity":"5","moisture":"0.50","impurity":"0.20"}},"total_shortage":{"type":"object","example":{"place_count":"1","quantity":"15","moisture":"0.75","impurity":"0.30"}},"average_storage_period":{"type":"object","example":{"months":"5","days":"10"}},"justified_shortage":{"type":"object","example":{"a":{"moisture":"1.25","weight":"12.5"},"b":{"moisture":"0.50","weight":"5.0"},"v":{"moisture":"0.25","weight":"2.5"},"0":"overall_justification"}},"unjustified_shortage":{"type":"object","example":{"balance":"10","overage":"0"}},"metrics_explanation":{"type":"string","example":"Quyoshda quritish - 30-forma 12-son (09.02.2026)"},"cleaning_act_description":{"type":"string","example":"Quyoshda quritish va boshlang'ich tozalash"}},"type":"object"},"GrainInspectionReportResponse":{"title":"GrainInspectionReportResponse","description":"Tozalov dalolatnomasi 30-shakl \u2014 javob (response) sxemasi","properties":{"id":{"type":"integer","readOnly":true,"example":1},"region":{"description":"Viloyat ID","type":"string","example":"Toshkent","nullable":true},"supervising_authority_name":{"type":"string","example":"Qishloq xo'jaligi vazirligi"},"enterprise_name":{"type":"string","example":"Toshkent don ombori"},"branch_name":{"type":"string","example":"Yunusobod bo'limi"},"inspection_number":{"type":"string","example":"12"},"inspection_date":{"type":"string","format":"date","example":"2026-02-09"},"file_path":{"type":"string","readOnly":true,"example":"pdf\/grain-inspection-reports\/tozalov-dalolatnoma-1.pdf","nullable":true},"file_url":{"type":"string","readOnly":true,"example":"https:\/\/s3.example.com\/pdf\/grain-inspection-reports\/tozalov-dalolatnoma-1.pdf","nullable":true},"head_full_name":{"type":"string","example":"Rahimov Odil Shavkatovich"},"head_signature":{"type":"string","example":"signatures\/head_12345.png","nullable":true},"head_signed_at":{"description":"Rahbar imzolagan sana","type":"string","example":"2026-03-15","nullable":true},"head_rejected_at":{"description":"Rahbar rad etgan sana","type":"string","example":null,"nullable":true},"head_comment":{"description":"Rahbar izohi","type":"string","example":null,"nullable":true},"head_status":{"description":"Rahbar holati (waiting - Kutilmoqda, signed - Imzolangan, rejected - Rad etilgan)","type":"string","example":"waiting"},"company_stir":{"type":"integer","example":156615615,"nullable":true},"head_of_laboratory_full_name":{"type":"string","example":"Karimova Dilnoza Ravshanovna"},"chief_accountant_full_name":{"type":"string","example":"Aliyev Botir Mahmudovich"},"materially_responsible_person_full_name":{"type":"string","example":"Ismoilov Sardor Akramovich"},"materially_responsible_person_position":{"type":"string","example":"Ombor mudiri"},"product_name_type_sort":{"type":"object","example":{"product_name":"Bug'doy","type":"ozuqaviy","sort":"1"}},"storage_place":{"type":"string","example":"Asosiy ombor"},"balance":{"type":"object","example":{"date":"09.02.2026","place_count":"10 sochma","quantity":"1000","moisture":"11.25","impurity":"4.30"}},"received_from_until":{"type":"object","example":{"from_date":"15.01.2026","to_date":"09.02.2026","place_count":"5 qop","quantity":"500","moisture":"10.50","impurity":"3.20"}},"total":{"type":"object","example":{"place_count":"15 sochma","quantity":"1500","moisture":"10.87","impurity":"3.75"}},"grain_without_waste_from_until":{"type":"object","example":{"from_date":"15.01.2026","to_date":"09.02.2026","place_count":"12 sochma","quantity":"1200","moisture":"10.00","impurity":"2.50"}},"grain_waste_1_2_grade":{"type":"object","example":{"place_count":"2 qop","quantity":"150","moisture":"9.50","impurity":"5.00"}},"grain_waste_3_grade":{"type":"object","example":{"place_count":"1 qop","quantity":"50","moisture":"9.00","impurity":"7.00"}},"remeasurement_remainder_for_date":{"type":"object","example":{"date":"10.02.2026","place_count":"13 sochma","quantity":"1300","moisture":"10.25","impurity":"3.00"}},"total_2":{"type":"object","example":{"place_count":"15 sochma","quantity":"1500","moisture":"10.00","impurity":"3.50"}},"accepted_output_difference":{"type":"object","example":{"place_count":"0","quantity":"10","moisture":"0.25","impurity":"0.10"}},"addition_to_moisture_and_impurity":{"type":"object","example":{"place_count":"1","quantity":"5","moisture":"0.50","impurity":"0.20"}},"total_shortage":{"type":"object","example":{"place_count":"1","quantity":"15","moisture":"0.75","impurity":"0.30"}},"average_storage_period":{"type":"object","example":{"months":"5","days":"10"}},"justified_shortage":{"type":"object","example":{"a":{"moisture":"1.25","weight":"12.5"},"b":{"moisture":"0.50","weight":"5.0"},"v":{"moisture":"0.25","weight":"2.5"},"0":"overall_justification"}},"unjustified_shortage":{"type":"object","example":{"balance":"10","overage":"0"}},"metrics_explanation":{"type":"string","example":"Quyoshda quritish - 30-forma 12-son (09.02.2026)"},"cleaning_act_description":{"type":"string","example":"Quyoshda quritish va boshlang'ich tozalash"},"regional_department_specialist_report":{"oneOf":[{"$ref":"#\/components\/schemas\/RegionalDepartmentSpecialistReport"}],"nullable":true},"previous_cleaning_acts":{"oneOf":[{"$ref":"#\/components\/schemas\/PreviousCleaningAct"}],"nullable":true},"idh_full_name":{"description":"Inspeksiya boshqarma boshlig'i","type":"string","example":"Rahimov Sardor Bahodirovich","nullable":true},"idh_signature":{"description":"Inspeksiya boshqarma boshlig'i imzosi","type":"string","example":"signatures\/idh_12345.png","nullable":true},"idh_signed_at":{"description":"Imzolangan sana","type":"string","format":"date","example":"2026-03-15","nullable":true},"idh_rejected_at":{"description":"Rad etilgan sana","type":"string","format":"date","example":null,"nullable":true},"idh_comment":{"description":"Izoh","type":"string","example":null,"nullable":true},"idh_status":{"description":"Holati (waiting - Kutilmoqda, signed - Imzolangan, rejected - Rad etilgan)","type":"string","example":"waiting","nullable":true},"status":{"description":"Xulosa holati (draft - Qoralama ,waiting - Kutilmoqda, rejected - Rad etilgan, signed - Imzolangan)","type":"string","example":"draft","nullable":false},"created_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-09 14:30:00"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"example":"2026-02-09 14:30:00"}},"type":"object"},"SignRequestBody":{"title":"SignRequestBody","description":"Hujjatni imzolash uchun so'rov","required":["model_type","model_id","signature"],"properties":{"model_type":{"description":"Hujjat turi (mill_report = Tegirmon xulosasi, oil_fat_report = Yog'-moy dalolatnomasi, cooperation_conclusion = Kooperatsiya xulosasi, grain_conclusion = Don arbitraj xulosasi, cotton_conclusion = Paxta arbitraj xulosasi, claster_conclusion = Klaster dalolatnomasi)","type":"string","example":"claster_conclusion","enum":["mill_report","oil_fat_report","cooperation_conclusion","grain_conclusion","cotton_conclusion","claster_conclusion"]},"model_id":{"description":"Hujjat ID raqami","type":"integer","example":1},"signature":{"description":"Imzo (base64 formatda)","type":"string","example":"base64_signature_data"}},"type":"object"},"RejectRequestBody":{"title":"RejectRequestBody","description":"Hujjatni rad etish uchun so'rov","required":["model_type","model_id","comment"],"properties":{"model_type":{"description":"Hujjat turi (mill_report = Tegirmon xulosasi, oil_fat_report = Yog'-moy dalolatnomasi, cooperation_conclusion = Kooperatsiya xulosasi, grain_conclusion = Don arbitraj xulosasi, cotton_conclusion = Paxta arbitraj xulosasi, claster_conclusion = Klaster dalolatnomasi)","type":"string","example":"claster_conclusion","enum":["mill_report","oil_fat_report","cooperation_conclusion","grain_conclusion","cotton_conclusion","claster_conclusion"]},"model_id":{"description":"Hujjat ID raqami","type":"integer","example":1},"comment":{"description":"Rad etish sababi","type":"string","example":"Ma'lumotlar noto'g'ri kiritilgan"}},"type":"object"},"WeeklyExamDay":{"properties":{"day":{"type":"string","example":"Dushanba"},"day_number":{"type":"integer","example":1},"theory":{"type":"integer","example":5},"practical":{"type":"integer","example":2}},"type":"object"},"TopTrainingCenter":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Agro o'quv markazi"},"students_count":{"type":"integer","example":120}},"type":"object"},"ExamResultByRegion":{"properties":{"region_id":{"type":"integer","example":1},"region_name":{"type":"string","example":"Toshkent shahri"},"theory_passed":{"type":"integer","example":45},"theory_failed":{"type":"integer","example":12},"practical_passed":{"type":"integer","example":30},"practical_failed":{"type":"integer","example":8}},"type":"object"},"MonthlyCertificateItem":{"properties":{"month":{"type":"integer","example":1},"month_name":{"type":"string","example":"Yanvar"},"new_format":{"type":"integer","example":25},"old_format":{"type":"integer","example":10},"total":{"type":"integer","example":35}},"type":"object"},"MonthlyCertificatesResponse":{"properties":{"year":{"type":"integer","example":2026},"total_new_format":{"type":"integer","example":280},"total_old_format":{"type":"integer","example":60},"total":{"type":"integer","example":340},"months":{"type":"array","items":{"$ref":"#\/components\/schemas\/MonthlyCertificateItem"}}},"type":"object"},"DashboardResponse":{"properties":{"total_students":{"type":"integer","example":1250},"theory_exam_in_progress":{"type":"integer","example":12},"practical_exam_in_progress":{"type":"integer","example":5},"total_individuals":{"type":"integer","example":340},"certificates":{"properties":{"new_format":{"type":"integer","example":280},"old_format":{"type":"integer","example":60}},"type":"object"},"total_training_centers":{"type":"integer","example":45},"direct_exam_takers":{"type":"integer","example":23},"weekly_exams":{"type":"array","items":{"$ref":"#\/components\/schemas\/WeeklyExamDay"}},"top_training_centers":{"type":"array","items":{"$ref":"#\/components\/schemas\/TopTrainingCenter"}},"exam_results_by_region":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExamResultByRegion"}}},"type":"object"},"InstructionResponse":{"properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"Traktor haydash bo'yicha yo'riqnoma"},"level":{"type":"string","example":"republic"},"level_label":{"type":"string","example":"Respublika"},"file_url":{"type":"string","example":"https:\/\/gateway-agrosert.simplex.uz\/api\/v1\/tm\/files\/tm\/instructions\/abc.pdf"},"is_active":{"type":"boolean","example":true},"created_by":{"type":"integer","example":1,"nullable":true},"created_at":{"type":"string","example":"2026-03-12 12:00:00"},"updated_at":{"type":"string","example":"2026-03-12 12:00:00"}},"type":"object"},"InstructionStoreRequest":{"required":["title","level","file"],"properties":{"title":{"description":"Sarlavha","type":"string","example":"Yo'riqnoma nomi","maxLength":500},"level":{"description":"Daraja","type":"string","enum":["republic","region","district","training_center"]},"file":{"description":"PDF fayl (max 10MB)","type":"string","format":"binary"}},"type":"object"},"PracticalExamSheetResponse":{"properties":{"id":{"type":"integer","example":1},"commission_members":{"type":"array","items":{"properties":{"full_name":{"type":"string","example":"Karimov Anvar Baxtiyorovich"},"workplace_name":{"type":"string","example":"Agro Texnika MChJ"},"passport":{"type":"string","example":"AB1234567"},"phone":{"type":"string","example":"+998901234567"}},"type":"object"}},"practical_exam_date":{"type":"string","format":"date","example":"2026-03-01"},"practical_exam_number":{"type":"string","example":"AI-2026\/001"},"medical_exam_date":{"type":"string","format":"date","example":"2026-02-25"},"medical_exam_number":{"type":"string","example":"TK-2026\/001"},"document_file":{"type":"string","example":"https:\/\/gateway-agrosert.simplex.uz\/api\/v1\/tm\/files\/tm\/exam-sheets\/documents\/abc.pdf","nullable":true},"road_rules_result":{"type":"boolean","example":true},"technical_safety_result":{"type":"boolean","example":true},"driving_skills_result":{"type":"boolean","example":false},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","example":"2026-02-22 12:00:00"},"updated_at":{"type":"string","example":"2026-02-22 12:00:00"}},"type":"object"},"PracticalExamSheetStoreRequest":{"required":["commission_members","practical_exam_date","practical_exam_number","medical_exam_date","medical_exam_number","road_rules_result","technical_safety_result","driving_skills_result"],"properties":{"commission_members":{"description":"JSON massiv: 3 ta a'zo [{full_name, workplace_name, passport, phone}, ...]","type":"string","example":"[{\"full_name\":\"Karimov A.B.\",\"workplace_name\":\"Agro MChJ\",\"passport\":\"AB1234567\",\"phone\":\"+998901234567\"},{\"full_name\":\"Valiyev S.T.\",\"workplace_name\":\"Texnika MChJ\",\"passport\":\"CD7654321\",\"phone\":\"+998901234568\"},{\"full_name\":\"Rahimov N.K.\",\"workplace_name\":\"Servis MChJ\",\"passport\":\"EF1122334\",\"phone\":\"+998901234569\"}]"},"practical_exam_date":{"description":"Amaliy imtihon sanasi","type":"string","format":"date","example":"2026-03-01"},"practical_exam_number":{"description":"Amaliy imtihon raqami","type":"string","example":"AI-2026\/001","maxLength":50},"medical_exam_date":{"description":"Tibbiy ko'rik sanasi","type":"string","format":"date","example":"2026-02-25"},"medical_exam_number":{"description":"Tibbiy ko'rik raqami","type":"string","example":"TK-2026\/001","maxLength":50},"document_file":{"description":"Hujjat fayli (pdf, jpg, jpeg, png, max 5MB)","type":"string","format":"binary"},"road_rules_result":{"description":"Yo'l harakati qoidasi natijasi","type":"boolean","example":true},"technical_safety_result":{"description":"Texnika xavfsizligi natijasi","type":"boolean","example":true},"driving_skills_result":{"description":"Texnika boshqarish ko'nikmasi natijasi","type":"boolean","example":false}},"type":"object"},"PracticalInvoiceResponse":{"properties":{"id":{"type":"integer","example":1},"tm_student_id":{"type":"integer","example":1},"tm_practical_invoice_type_id":{"type":"integer","example":1},"invoice_number":{"type":"string","example":"PINV-2026-001"},"invoice_date":{"type":"string","format":"date","example":"2026-02-21"},"is_active":{"type":"boolean","example":true},"student":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"}},"type":"object","nullable":true},"invoice_type":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Amaliy imtihon topshirish uchun"},"amount":{"type":"integer","example":5000000}},"type":"object","nullable":true},"created_at":{"type":"string","example":"2026-02-21 12:00:00"},"updated_at":{"type":"string","example":"2026-02-21 12:00:00"}},"type":"object"},"PracticalInvoiceStoreRequest":{"required":["tm_student_id","tm_practical_invoice_type_id","invoice_date"],"properties":{"tm_student_id":{"description":"O'quvchi ID (tm_students jadvalidan)","type":"integer","example":1},"tm_practical_invoice_type_id":{"description":"To'lov turi ID (tm_practical_invoice_types jadvalidan)","type":"integer","example":1},"invoice_number":{"description":"Invoice raqami (bo'sh qoldirilsa avtomatik generatsiya qilinadi)","type":"string","example":"PINV-2026-001","nullable":true,"maxLength":255},"invoice_date":{"description":"Invoice sanasi","type":"string","format":"date","example":"2026-02-21"}},"type":"object"},"PracticalInvoiceStatistics":{"properties":{"total_invoices":{"type":"integer","example":50},"active_invoices":{"type":"integer","example":45},"by_type":{"type":"array","items":{"properties":{"invoice_type_id":{"type":"integer","example":1},"invoice_type_name":{"type":"string","example":"Amaliy imtihon topshirish uchun"},"count":{"type":"integer","example":30}},"type":"object"}}},"type":"object"},"PracticalInvoiceTypeResponse":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Amaliy imtihon topshirish uchun"},"amount":{"description":"Summa (tiyin)","type":"integer","example":5000000},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","example":"2026-02-21 12:00:00"},"updated_at":{"type":"string","example":"2026-02-21 12:00:00"}},"type":"object"},"PracticalInvoiceTypeStoreRequest":{"required":["name","amount"],"properties":{"name":{"description":"To'lov turi nomi","type":"string","example":"Amaliy imtihon topshirish uchun","maxLength":255},"amount":{"description":"Summa (tiyin)","type":"integer","example":5000000,"minimum":0}},"type":"object"},"CertificateReportRow":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"},"total_certificates_count":{"type":"integer","example":50},"total_paid_amount":{"type":"integer","example":5000000},"new_format_count":{"type":"integer","example":30},"new_format_amount":{"type":"integer","example":3000000},"old_format_count":{"type":"integer","example":20},"old_format_amount":{"type":"integer","example":2000000}},"type":"object"},"CertificateReportResponse":{"properties":{"level":{"type":"string","example":"republic","enum":["republic","region","district"]},"group_by":{"type":"string","example":"regions","enum":["regions","districts","training_centers"]},"rows":{"type":"array","items":{"$ref":"#\/components\/schemas\/CertificateReportRow"}},"totals":{"properties":{"total_certificates_count":{"type":"integer"},"total_paid_amount":{"type":"integer"},"new_format_count":{"type":"integer"},"new_format_amount":{"type":"integer"},"old_format_count":{"type":"integer"},"old_format_amount":{"type":"integer"}},"type":"object"}},"type":"object"},"TheoryExamReportRow":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"},"created_invoices_count":{"type":"integer","example":50},"created_invoices_amount":{"type":"integer","example":5000000},"paid_invoices_count":{"type":"integer","example":30},"paid_invoices_amount":{"type":"integer","example":3000000},"unpaid_invoices_count":{"type":"integer","example":15},"unpaid_invoices_amount":{"type":"integer","example":1500000},"eligible_students_count":{"type":"integer","example":40},"exam_taken_count":{"type":"integer","example":35},"passed_count":{"type":"integer","example":25},"failed_count":{"type":"integer","example":10},"not_taken_count":{"type":"integer","example":5},"cancelled_invoices_students_count":{"type":"integer","example":5}},"type":"object"},"TheoryExamReportResponse":{"properties":{"level":{"type":"string","example":"republic","enum":["republic","region","district","training_center"]},"group_by":{"type":"string","example":"regions","enum":["regions","districts","training_centers","users"]},"rows":{"type":"array","items":{"$ref":"#\/components\/schemas\/TheoryExamReportRow"}},"totals":{"properties":{"created_invoices_count":{"type":"integer"},"created_invoices_amount":{"type":"integer"},"paid_invoices_count":{"type":"integer"},"paid_invoices_amount":{"type":"integer"},"unpaid_invoices_count":{"type":"integer"},"unpaid_invoices_amount":{"type":"integer"},"eligible_students_count":{"type":"integer"},"exam_taken_count":{"type":"integer"},"passed_count":{"type":"integer"},"failed_count":{"type":"integer"},"not_taken_count":{"type":"integer"},"cancelled_invoices_students_count":{"type":"integer"}},"type":"object"}},"type":"object"},"ReportRowWithTrainingCenters":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"},"training_centers_count":{"type":"integer","example":5},"students_count":{"type":"integer","example":120},"approved_count":{"type":"integer","example":80},"not_approved_count":{"type":"integer","example":40},"studying_count":{"type":"integer","example":30},"finished_count":{"type":"integer","example":90}},"type":"object"},"ReportRow":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent agro o'quv markazi"},"students_count":{"type":"integer","example":50},"approved_count":{"type":"integer","example":30},"not_approved_count":{"type":"integer","example":20},"studying_count":{"type":"integer","example":10},"finished_count":{"type":"integer","example":40}},"type":"object"},"StudentReportResponse":{"properties":{"level":{"description":"Hisobot darajasi","type":"string","example":"republic","enum":["republic","region","district","training_center"]},"group_by":{"description":"Guruhlanish turi","type":"string","example":"regions","enum":["regions","districts","training_centers","users"]},"rows":{"description":"Hisobot qatorlari","type":"array","items":{"$ref":"#\/components\/schemas\/ReportRowWithTrainingCenters"}},"totals":{"description":"Jami ko'rsatkichlar","properties":{"training_centers_count":{"type":"integer","example":15},"students_count":{"type":"integer","example":500},"approved_count":{"type":"integer","example":300},"not_approved_count":{"type":"integer","example":200},"studying_count":{"type":"integer","example":100},"finished_count":{"type":"integer","example":400}},"type":"object"}},"type":"object"},"TheoryInvoiceResponse":{"properties":{"id":{"type":"integer","example":1},"tm_student_id":{"type":"integer","example":1},"tm_theory_invoice_type_id":{"type":"integer","example":1},"invoice_number":{"type":"string","example":"INV-2026-001"},"invoice_date":{"type":"string","format":"date","example":"2026-02-19"},"is_active":{"type":"boolean","example":true},"student":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"}},"type":"object","nullable":true},"invoice_type":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Nazariy imtihon topshirish uchun"},"amount":{"type":"integer","example":5000000}},"type":"object","nullable":true},"created_at":{"type":"string","example":"2026-02-19 12:00:00"},"updated_at":{"type":"string","example":"2026-02-19 12:00:00"}},"type":"object"},"TheoryInvoiceStoreRequest":{"required":["tm_student_id","tm_theory_invoice_type_id","invoice_date"],"properties":{"tm_student_id":{"description":"O'quvchi ID (tm_students jadvalidan)","type":"integer","example":1},"tm_theory_invoice_type_id":{"description":"To'lov turi ID (tm_theory_invoice_types jadvalidan)","type":"integer","example":1},"invoice_number":{"description":"Invoice raqami (bo'sh qoldirilsa avtomatik generatsiya qilinadi)","type":"string","example":"INV-2026-001","nullable":true,"maxLength":255},"invoice_date":{"description":"Invoice sanasi","type":"string","format":"date","example":"2026-02-19"}},"type":"object"},"TheoryInvoiceStatistics":{"properties":{"total_invoices":{"type":"integer","example":50},"active_invoices":{"type":"integer","example":45},"by_type":{"type":"array","items":{"properties":{"invoice_type_id":{"type":"integer","example":1},"invoice_type_name":{"type":"string","example":"Nazariy imtihon topshirish uchun"},"count":{"type":"integer","example":30}},"type":"object"}}},"type":"object"},"TheoryInvoiceTypeResponse":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Nazariy imtihon topshirish uchun"},"amount":{"description":"Summa (tiyin)","type":"integer","example":5000000},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","example":"2026-02-19 12:00:00"},"updated_at":{"type":"string","example":"2026-02-19 12:00:00"}},"type":"object"},"TheoryInvoiceTypeStoreRequest":{"required":["name","amount"],"properties":{"name":{"description":"To'lov turi nomi","type":"string","example":"Nazariy imtihon topshirish uchun","maxLength":255},"amount":{"description":"Summa (tiyin)","type":"integer","example":5000000,"minimum":0}},"type":"object"},"TmCandidateResponse":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Karimov Jamshid Botirovich"},"passport":{"type":"string","example":"AB7654321"},"birth_date":{"type":"string","format":"date","example":"1997-04-12"},"jshshir":{"type":"string","example":"40412199700001"},"phone":{"type":"string","example":"+998901112233"},"region":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"district":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yunusobod tumani"}},"type":"object","nullable":true},"address":{"type":"string","example":"Toshkent shahri, Yunusobod tumani","nullable":true}},"type":"object"},"TmCandidateStoreRequest":{"required":["lastname","firstname"],"properties":{"lastname":{"description":"Familiya","type":"string","example":"Karimov","maxLength":255},"firstname":{"description":"Ism","type":"string","example":"Jamshid","maxLength":255},"middle_name":{"description":"Otasining ismi","type":"string","example":"Botirovich","nullable":true,"maxLength":255},"passport":{"description":"Pasport (seriya + raqam)","type":"string","example":"AB7654321","nullable":true,"maxLength":9},"birth_date":{"description":"Tug'ilgan sana","type":"string","format":"date","example":"1997-04-12","nullable":true},"jshshir":{"description":"JSHSHIR (14 ta raqam)","type":"string","example":"40412199700001","nullable":true,"maxLength":14},"phone":{"description":"Telefon raqam","type":"string","example":"+998901112233","nullable":true,"maxLength":20},"state_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"city_id":{"description":"Tuman ID","type":"integer","example":1,"nullable":true},"address":{"description":"Manzil","type":"string","example":"Toshkent shahri, Yunusobod tumani","nullable":true,"maxLength":500}},"type":"object"},"TmCertificateBasisResponse":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktorchi-mashinist guvohnomasini berish"},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","example":"2026-02-23 12:00:00"},"updated_at":{"type":"string","example":"2026-02-23 12:00:00"}},"type":"object"},"TmCertificateBasisStoreRequest":{"required":["name"],"properties":{"name":{"description":"Guvohnoma asosi nomi","type":"string","example":"Traktorchi-mashinist guvohnomasini berish","maxLength":500},"is_active":{"description":"Faol holati","type":"boolean","example":true}},"type":"object"},"TmIndividualCertificateResponse":{"properties":{"id":{"type":"integer","example":1},"certificate_number":{"type":"string","example":"UZ-AA0150157","nullable":true},"individual":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"jshshir":{"type":"string","example":"12345678901234"},"passport":{"type":"string","example":"AB1234567"}},"type":"object"},"certificate_basis":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktorchi mashinistga klass berish"}},"type":"object"},"basis_document_info":{"type":"string","example":"Asos hujjat ma'lumotlari","nullable":true},"special_marks":{"type":"string","example":"Alohida belgilar","nullable":true},"category_a":{"properties":{"issue_date":{"type":"string","format":"date","example":"2026-01-15","nullable":true},"expiry_years":{"type":"integer","example":5,"nullable":true}},"type":"object"},"category_b":{"properties":{"issue_date":{"type":"string","format":"date","nullable":true},"expiry_years":{"type":"integer","nullable":true}},"type":"object"},"category_c":{"properties":{"issue_date":{"type":"string","format":"date","nullable":true},"expiry_years":{"type":"integer","nullable":true}},"type":"object"},"category_d":{"properties":{"issue_date":{"type":"string","format":"date","nullable":true},"expiry_years":{"type":"integer","nullable":true}},"type":"object"},"category_e":{"properties":{"issue_date":{"type":"string","format":"date","nullable":true},"expiry_years":{"type":"integer","nullable":true}},"type":"object"},"category_f":{"properties":{"issue_date":{"type":"string","format":"date","nullable":true},"expiry_years":{"type":"integer","nullable":true}},"type":"object"},"photo":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"old_certificate_file":{"type":"string","nullable":true},"medical_certificate_file":{"type":"string","nullable":true},"is_paid":{"type":"boolean","example":false},"payment_status":{"type":"string","example":"unpaid"},"status":{"type":"string","example":"pending"},"is_active":{"type":"boolean","example":true},"is_new_format":{"type":"boolean","example":true},"created_by":{"type":"integer","example":1,"nullable":true},"created_at":{"type":"string","example":"2026-02-23 12:00:00"},"updated_at":{"type":"string","example":"2026-02-23 12:00:00"}},"type":"object"},"TmIndividualCertificateStoreRequest":{"required":["tm_individual_id","tm_certificate_basis_id"],"properties":{"tm_individual_id":{"description":"Jismoniy shaxs ID","type":"integer","example":1},"tm_certificate_basis_id":{"description":"Guvohnoma asosi ID","type":"integer","example":1},"basis_document_info":{"description":"Asos hujjat ma'lumotlari","type":"string","example":"Asos hujjat ma'lumotlari"},"special_marks":{"description":"Alohida belgilar","type":"string","example":"Alohida belgilar"},"category_a_issue_date":{"description":"A toifa berilgan sana","type":"string","format":"date","example":"2026-01-15"},"category_a_expiry_years":{"description":"A toifa muddat (yil)","type":"integer","example":5},"category_b_issue_date":{"description":"B toifa berilgan sana","type":"string","format":"date"},"category_b_expiry_years":{"description":"B toifa muddat (yil)","type":"integer"},"category_c_issue_date":{"description":"C toifa berilgan sana","type":"string","format":"date"},"category_c_expiry_years":{"description":"C toifa muddat (yil)","type":"integer"},"category_d_issue_date":{"description":"D toifa berilgan sana","type":"string","format":"date"},"category_d_expiry_years":{"description":"D toifa muddat (yil)","type":"integer"},"category_e_issue_date":{"description":"E toifa berilgan sana","type":"string","format":"date"},"category_e_expiry_years":{"description":"E toifa muddat (yil)","type":"integer"},"category_f_issue_date":{"description":"F toifa berilgan sana","type":"string","format":"date"},"category_f_expiry_years":{"description":"F toifa muddat (yil)","type":"integer"},"photo":{"description":"Rasm (jpg, jpeg, png, max 2MB)","type":"string","format":"binary"},"signature":{"description":"Imzo rasimi (jpg, jpeg, png, max 2MB)","type":"string","format":"binary"},"old_certificate_file":{"description":"Eski guvohnoma\/diplom nusxasi (pdf, jpg, jpeg, png, max 10MB)","type":"string","format":"binary"},"medical_certificate_file":{"description":"Tibbiy ma'lumotnoma (pdf, jpg, jpeg, png, max 10MB)","type":"string","format":"binary"},"is_paid":{"description":"To'langan","type":"boolean","example":false},"is_new_format":{"description":"Yangi namunadagi guvohnoma (seriya raqam avtomatik beriladi)","type":"boolean","example":true}},"type":"object"},"TmIndividualResponse":{"properties":{"id":{"type":"integer","example":1},"first_name":{"type":"string","example":"Ali"},"last_name":{"type":"string","example":"Valiyev"},"middle_name":{"type":"string","example":"Karimovich","nullable":true},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"passport":{"type":"string","example":"AB1234567"},"jshshir":{"type":"string","example":"12345678901234"},"birth_date":{"type":"string","format":"date","example":"1995-05-15"},"is_foreign":{"type":"boolean","example":false},"country":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"O'zbekiston"}},"type":"object","nullable":true},"birth_state":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"birth_city":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yunusobod tumani"}},"type":"object","nullable":true},"passport_state":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"passport_city":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yunusobod tumani"}},"type":"object","nullable":true},"passport_given_date":{"type":"string","format":"date","example":"2020-01-15","nullable":true},"state":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"city":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yunusobod tumani"}},"type":"object","nullable":true},"address":{"type":"string","example":"Toshkent shahri, Yunusobod tumani","nullable":true},"phone":{"type":"string","example":"+998901234567"},"is_active":{"type":"boolean","example":true},"created_by":{"type":"integer","example":1,"nullable":true},"created_at":{"type":"string","example":"2026-02-23 12:00:00"},"updated_at":{"type":"string","example":"2026-02-23 12:00:00"}},"type":"object"},"TmIndividualStoreRequest":{"required":["first_name","last_name","passport","jshshir","birth_date","phone"],"properties":{"first_name":{"description":"Ism","type":"string","example":"Ali","maxLength":100},"last_name":{"description":"Familiya","type":"string","example":"Valiyev","maxLength":100},"middle_name":{"description":"Otasining ismi","type":"string","example":"Karimovich","maxLength":100},"passport":{"description":"Pasport (2 ta katta harf + 7 ta raqam)","type":"string","example":"AB1234567","maxLength":9},"jshshir":{"description":"JSHSHIR (14 ta raqam)","type":"string","example":"12345678901234","maxLength":14},"birth_date":{"description":"Tug'ilgan sana","type":"string","format":"date","example":"1995-05-15"},"is_foreign":{"description":"Chetel fuqarosimi","type":"boolean","example":false},"country_id":{"description":"Tug'ilgan davlat ID","type":"integer","example":1},"birth_state_id":{"description":"Tug'ilgan viloyat ID","type":"integer","example":1},"birth_city_id":{"description":"Tug'ilgan tuman ID","type":"integer","example":1},"passport_state_id":{"description":"Pasport berilgan viloyat ID","type":"integer","example":1},"passport_city_id":{"description":"Pasport berilgan tuman ID","type":"integer","example":1},"passport_given_date":{"description":"Pasport berilgan sana","type":"string","format":"date","example":"2020-01-15"},"state_id":{"description":"Yashash viloyati ID","type":"integer","example":1},"city_id":{"description":"Yashash tumani ID","type":"integer","example":1},"address":{"description":"Manzil","type":"string","example":"Toshkent shahri, Yunusobod tumani"},"phone":{"description":"Telefon raqam","type":"string","example":"+998901234567"}},"type":"object"},"TmStudentResponse":{"properties":{"id":{"type":"integer","example":1},"tm_training_center":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"O'quv markazi nomi"}},"type":"object"},"jshshir":{"type":"string","example":"12345678901234"},"passport":{"type":"string","example":"AB1212345"},"lastname":{"type":"string","example":"Valiyev"},"firstname":{"type":"string","example":"Ali"},"middle_name":{"type":"string","example":"Karimovich"},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"birth_date":{"type":"string","format":"date","example":"1995-05-15"},"phone":{"type":"string","example":"+998901234567"},"region":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent shahri"}},"type":"object","nullable":true},"district":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Yunusobod tumani"}},"type":"object","nullable":true},"address":{"type":"string","example":"Toshkent shahri, Yunusobod tumani"},"study_class_categories":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor haydovchilari"},"is_active":{"type":"boolean","example":true}},"type":"object"}},"certificate_date":{"type":"string","format":"date","example":"2026-03-01"},"certificate_number":{"type":"string","example":"TM-001234"},"certificate_file":{"type":"string","nullable":true},"total_study_hours":{"type":"integer","example":120},"weekly_study_hours":{"type":"integer","example":20},"study_start_date":{"type":"string","format":"date","example":"2026-01-15"},"study_end_date":{"type":"string","format":"date","example":"2026-03-15"},"workplace_stir":{"type":"string","example":"987654321"},"workplace_name":{"type":"string","example":"Agro Texnika MChJ"},"workplace_phone":{"type":"string","example":"+998712345678"},"work_qualification":{"type":"string","example":"Traktorchi-mashinist"},"reference_date":{"type":"string","format":"date","example":"2026-01-10"},"reference_number":{"type":"string","example":"ML-2026\/001"},"reference_file":{"type":"string","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","example":"2026-02-13 12:00:00"},"updated_at":{"type":"string","example":"2026-02-13 12:00:00"}},"type":"object"},"CommissionMemberResource":{"title":"Commission Member","description":"Komissiya a'zosi","properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Karimov Anvar Baxtiyorovich"},"workplace_name":{"type":"string","example":"Agro Texnika MChJ","nullable":true},"passport":{"type":"string","example":"AB1234567","nullable":true},"phone":{"type":"string","example":"+998901234567","nullable":true},"state_id":{"type":"integer","example":27,"nullable":true},"region":{"type":"object","nullable":true},"city_id":{"type":"integer","example":2701,"nullable":true},"district":{"type":"object","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"TestQuestion":{"title":"Test Question","description":"Test savoli resursi (multilingual + transliteratsiya)","properties":{"id":{"type":"integer","example":1},"subject":{"type":"string","example":"yhq","enum":["yhq","ekspluatatsiya","general"]},"subject_label":{"type":"string","example":"Yo'l harakati qoidalari testi"},"study_category":{"type":"string","example":null,"nullable":true,"enum":["A","B","C","D","E","F"]},"study_category_label":{"type":"string","example":null,"nullable":true},"question_text":{"type":"string","example":"Qizil chiroqda nima qilish kerak?"},"question_text_ru":{"type":"string","example":"\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0441\u0432\u0435\u0442?","nullable":true},"question_text_en":{"type":"string","example":"What to do on red light?","nullable":true},"question_text_cyrillic":{"type":"string","example":"\u049a\u0438\u0437\u0438\u043b \u0447\u0438\u0440\u043e\u049b\u0434\u0430 \u043d\u0438\u043c\u0430 \u049b\u0438\u043b\u0438\u0448 \u043a\u0435\u0440\u0430\u043a?","nullable":true},"question_image":{"type":"string","example":null,"nullable":true},"answer_a":{"type":"string","example":"To'xtash kerak"},"answer_a_ru":{"type":"string","nullable":true},"answer_a_en":{"type":"string","nullable":true},"answer_b":{"type":"string","example":"Davom etish kerak"},"answer_b_ru":{"type":"string","nullable":true},"answer_b_en":{"type":"string","nullable":true},"answer_c":{"type":"string","example":"Tezlikni oshirish kerak"},"answer_c_ru":{"type":"string","nullable":true},"answer_c_en":{"type":"string","nullable":true},"correct_answer":{"type":"string","example":"a","enum":["a","b","c"]},"study_class_categories":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Traktor haydovchilari"},"is_active":{"type":"boolean","example":true}},"type":"object"},"nullable":true},"is_active":{"type":"boolean","example":true},"created_by":{"type":"integer","example":1},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"TheoryExam":{"title":"Theory Exam","description":"Nazariy imtihon resursi","properties":{"id":{"type":"integer","example":1},"student_id":{"type":"integer","example":1},"student":{"properties":{"id":{"type":"integer","example":1},"full_name":{"type":"string","example":"Valiyev Ali Karimovich"},"jshshir":{"type":"string","example":"12345678901234"}},"type":"object","nullable":true},"attempt_number":{"type":"integer","example":1,"nullable":true},"subject":{"type":"string","example":"yhq","nullable":true,"enum":["yhq","ekspluatatsiya"]},"subject_label":{"type":"string","example":"Yo'l harakati qoidalari testi","nullable":true},"total_questions":{"type":"integer","example":15,"nullable":true},"correct_answers":{"type":"integer","example":12,"nullable":true},"wrong_answers":{"type":"integer","example":2,"nullable":true},"unanswered":{"type":"integer","example":1,"nullable":true},"score_percent":{"type":"number","format":"float","example":80,"nullable":true},"pass_percent":{"type":"integer","example":80,"nullable":true},"status":{"type":"string","example":"pending","enum":["pending","in_progress","passed","failed","expired"]},"status_label":{"type":"string","example":"Kutilmoqda"},"started_at":{"type":"string","format":"date-time","example":"2026-02-21 10:00:00","nullable":true},"completed_at":{"type":"string","format":"date-time","example":"2026-02-21 10:15:00","nullable":true},"expires_at":{"description":"Mustaqil test uchun vaqt chegarasi","type":"string","format":"date-time","example":"2026-02-21 10:15:00","nullable":true},"is_expired":{"type":"boolean","example":false},"duration_seconds":{"type":"integer","example":900,"nullable":true},"notes":{"type":"string","example":null,"nullable":true},"graded_by":{"type":"integer","example":null,"nullable":true},"created_by":{"type":"integer","example":1,"nullable":true},"created_at":{"type":"string","format":"date-time","example":"2026-02-21 10:00:00"},"updated_at":{"type":"string","format":"date-time","example":"2026-02-21 10:00:00"}},"type":"object"},"TrainingCenterResource":{"title":"O'quv markazi","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Toshkent viloyati OSTK"},"stir":{"type":"string","example":"305831133","nullable":true},"fio":{"type":"string","example":"Aliyev Vali Karimovich"},"mfo":{"type":"string","example":"00845","nullable":true},"account_number":{"type":"string","example":"20208000123456789012","nullable":true},"phone":{"type":"string","example":"+998901234567","nullable":true},"state_id":{"type":"integer","nullable":true},"region":{"type":"object","nullable":true},"city_id":{"type":"integer","nullable":true},"district":{"type":"object","nullable":true},"address":{"type":"string","nullable":true},"user":{"type":"object","nullable":true},"is_active":{"type":"boolean","example":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"type":"object"},"InspectionDocumentItem":{"title":"Tekshiruv hujjati","description":"Tekshiruvga biriktirilgan hujjat ma'lumoti. 4 turdagi hujjat bo'lishi mumkin: notification, study_program, info, study_order.","type":"object","allOf":[{"$ref":"#\/components\/schemas\/InspectionBasis"},{"properties":{"id":{"description":"Hujjat ID (yuklanmagan bo'lsa null)","type":"integer","example":53,"nullable":true},"type":{"description":"Hujjat turi identifikatori","type":"string","example":"notification"},"type_label":{"description":"Hujjat turi nomi (o'zbek tilida)","type":"string","example":"Xabardor qilish hujjati"},"uploaded":{"description":"Hujjat yuklanganmi yoki yo'q","type":"boolean","example":true},"status":{"description":"Hujjat holati (yuklanmagan bo'lsa null)","properties":{"value":{"description":"Holat qiymati","type":"string","example":"signed","enum":["new","pending","rejected","signed"]},"label":{"description":"Holat nomi","type":"string","example":"Imzolangan"}},"type":"object","nullable":true},"file_url":{"description":"Faylni yuklab olish URL manzili","type":"string","example":"https:\/\/backend.uzagroin.uz\/api\/v1\/inspector\/files\/inspector\/inspections\/24\/documents\/abc.pdf","nullable":true},"uploaded_by":{"description":"Yuklagan foydalanuvchi ID","type":"integer","example":12,"nullable":true},"reviewed_by":{"description":"Ko'rib chiqqan (viloyat) foydalanuvchi ID","type":"integer","example":5,"nullable":true},"uploaded_at":{"description":"Yuklangan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-20T09:15:00+00:00","nullable":true},"signed_at":{"description":"Imzolangan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-22T14:30:00+00:00","nullable":true},"reject_reason":{"description":"Rad etish sababi (agar rad etilgan bo'lsa)","type":"string","example":null,"nullable":true}},"type":"object"}]},"InspectionDocumentsCount":{"title":"Hujjatlar statistikasi","description":"Tekshiruv hujjatlarining umumiy holati","type":"object","allOf":[{"$ref":"#\/components\/schemas\/InspectionBasis"},{"properties":{"total":{"description":"Jami kerakli hujjatlar soni","type":"integer","example":4},"uploaded":{"description":"Yuklangan hujjatlar soni","type":"integer","example":3},"signed":{"description":"Imzolangan hujjatlar soni","type":"integer","example":2},"rejected":{"description":"Rad etilgan hujjatlar soni","type":"integer","example":0},"pending":{"description":"Kutilayotgan hujjatlar soni","type":"integer","example":1}},"type":"object"}]},"InspectionResponse":{"title":"Tekshiruv","description":"Tekshiruv to'liq ma'lumoti \u2014 korxona, ekin, hujjatlar va holat","type":"object","allOf":[{"$ref":"#\/components\/schemas\/InspectionBasis"},{"properties":{"id":{"description":"Tekshiruv ID","type":"integer","example":24},"contour_number":{"description":"Kontur raqami (avtomatik generatsiya qilinadi)","type":"string","example":"INS-000024","nullable":true},"enterprise":{"$ref":"#\/components\/schemas\/Enterprise"},"crop_category_id":{"description":"Ekin kategoriyasi ID","type":"integer","example":2,"nullable":true},"crop_category_name":{"description":"Ekin kategoriyasi nomi","type":"string","example":"Don ekinlari","nullable":true},"crop_type_id":{"description":"Ekin turi ID","type":"integer","example":5,"nullable":true},"crop_type_name":{"description":"Ekin turi nomi","type":"string","example":"Bug'doy","nullable":true},"agro_event_id":{"description":"Agro tadbir ID","type":"integer","example":3,"nullable":true},"agro_event_name":{"description":"Agro tadbir nomi","type":"string","example":"Sug'orish","nullable":true},"goal_id":{"description":"Maqsad ID","type":"integer","example":1,"nullable":true},"goal_name":{"description":"Maqsad nomi","type":"string","example":"Hosildorlikni oshirish","nullable":true},"area_hectare":{"description":"Maydon (gektar)","type":"number","format":"float","example":150.5,"nullable":true},"action_type":{"description":"Chora turi","properties":{"value":{"description":"Chora qiymati","type":"string","example":"written_instruction","enum":["written_instruction","submission","administrative","warning"]},"label":{"description":"Chora nomi","type":"string","example":"Yozma ko'rsatma"}},"type":"object","nullable":true},"assigned_specialist":{"description":"Biriktirilgan mutaxassis","properties":{"id":{"description":"Mutaxassis ID","type":"integer","example":12},"name":{"description":"To'liq ismi","type":"string","example":"Karimov Jasur"}},"type":"object","nullable":true},"status":{"description":"Tekshiruv holati","properties":{"value":{"description":"Holat qiymati","type":"string","example":"draft","enum":["draft","submitted","reviewing","rejected","approved"]},"label":{"description":"Holat nomi","type":"string","example":"Qoralama"}},"type":"object"},"inspection_type":{"description":"Tekshiruv turi","properties":{"value":{"type":"string","enum":["notification","entrepreneur_application","state_body","physical_person","coordination","other"]},"label":{"type":"string","example":"Kelishish tartibida"}},"type":"object","nullable":true},"basis":{"description":"Tekshiruv asosi","properties":{"value":{"type":"string","enum":["risk_analysis","appeal","legislation_compliance","other_basis","other_situation"]},"label":{"type":"string","example":"Xavfni tahlil qilish asosida"}},"type":"object","nullable":true},"inspection_type_file_url":{"description":"Tekshiruv turiga tegishli fayl URL","type":"string","nullable":true},"state_id":{"description":"Viloyat ID","type":"integer","example":1,"nullable":true},"state_name":{"description":"Viloyat nomi","type":"string","example":"Toshkent viloyati","nullable":true},"city_id":{"description":"Tuman ID","type":"integer","example":5,"nullable":true},"city_name":{"description":"Tuman nomi","type":"string","example":"Chirchiq tumani","nullable":true},"documents":{"description":"4 turdagi hujjatlar ro'yxati","type":"array","items":{"$ref":"#\/components\/schemas\/InspectionDocumentItem"}},"documents_count":{"$ref":"#\/components\/schemas\/InspectionDocumentsCount"},"created_by":{"description":"Yaratgan foydalanuvchi ID","type":"integer","example":12,"nullable":true},"approved_by":{"description":"Tasdiqlagan foydalanuvchi ID","type":"integer","example":5,"nullable":true},"submitted_at":{"description":"Yuborilgan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-20T10:00:00+00:00","nullable":true},"approved_at":{"description":"Tasdiqlangan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-22T15:00:00+00:00","nullable":true},"reject_reason":{"description":"Hujjat rad etish sababi","type":"string","example":null,"nullable":true},"file_path":{"description":"Dala tekshiruvi fayli (S3 path)","type":"string","nullable":true},"link":{"description":"Tashqi havola (masalan Google Maps)","type":"string","nullable":true},"field_inspected_by":{"description":"Dala tekshiruvini o'tkazgan tuman inspektori ID","type":"integer","nullable":true},"field_submitted_at":{"description":"Dala tekshiruvi yuborilgan sana","type":"string","format":"date-time","nullable":true},"field_reject_reason":{"description":"Dala tekshiruvi rad etish sababi","type":"string","nullable":true},"created_at":{"description":"Yaratilgan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-19T08:30:00+00:00"},"updated_at":{"description":"Yangilangan sana (ISO 8601)","type":"string","format":"date-time","example":"2026-04-22T15:00:00+00:00"}},"type":"object"}]},"Inspector_SuccessResponse":{"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Muvaffaqiyatli"},"data":{"type":"object","nullable":true}},"type":"object"},"Inspector_ErrorResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Xatolik yuz berdi"}},"type":"object"},"ValidationErrorResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Validatsiya xatosi"},"errors":{"type":"object","example":{"name":["Nom kiritilishi shart"]}}},"type":"object"},"UnauthorizedResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Autentifikatsiya talab qilinadi"}},"type":"object"},"ForbiddenResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Ruxsat yo'q"}},"type":"object"},"NotFoundResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Resource topilmadi"}},"type":"object"},"ServerErrorResponse":{"properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Ichki server xatosi"}},"type":"object"},"PaginationMeta":{"properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":15},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":4},"from":{"type":"integer","example":1,"nullable":true},"to":{"type":"integer","example":15,"nullable":true}},"type":"object"},"PaginationLinks":{"properties":{"first":{"type":"string","nullable":true},"last":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true}},"type":"object"},"ActionType":{"type":"string","enum":["written_instruction","submission","administrative","warning"]},"MonitoringStatus":{"description":"draft \u2192 new \u2192 approved\/rejected","type":"string","enum":["draft","new","rejected","approved"]},"InspectionStatus":{"description":"Hujjat bosqichi: draft \u2192 submitted \u2192 reviewing \u2192 rejected\/approved","type":"string","enum":["draft","submitted","reviewing","rejected","approved"]},"FieldStatus":{"description":"Dala bosqichi (mobile): pending \u2192 draft \u2192 submitted \u2192 completed\/rejected","type":"string","enum":["pending","draft","submitted","completed","rejected"]},"InspectionDocumentStatus":{"description":"new \u2192 pending \u2192 rejected\/signed","type":"string","enum":["new","pending","rejected","signed"]},"InspectionDocumentType":{"description":"notification(tuman), study_program(tuman), info(tuman), study_order(viloyat)","type":"string","enum":["notification","study_program","info","study_order"]},"InspectionType":{"description":"Tekshiruv turi","type":"string","enum":["notification","entrepreneur_application","state_body","physical_person","coordination","other"]},"InspectionBasis":{"description":"Tekshiruv asosi","type":"string","enum":["risk_analysis","appeal","legislation_compliance","other_basis","other_situation"]},"AgroEvent":{"title":"Agro Event","description":"Agrotexnik tadbir resursi","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Sug'orish"},"is_active":{"type":"boolean","example":true}},"type":"object"},"CropType":{"title":"Crop Type","description":"Ekin turi resursi","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Bug'doy"},"is_active":{"type":"boolean","example":true}},"type":"object"},"CropTypeWithGoals":{"title":"Crop Type With Goals","description":"Ekin turi va unga tegishli maqsadlar","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Paxta"},"goals":{"type":"array","items":{"properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Chigit ekish"},"icon":{"type":"string","example":null,"nullable":true}},"type":"object"}}},"type":"object"},"Inspector_Enterprise":{"title":"Enterprise","description":"Korxona \/ Fermer xo'jaligi","properties":{"id":{"type":"integer","example":1},"type":{"type":"string","example":"farm"},"stir":{"type":"string","example":"123456789"},"legal_name":{"type":"string","example":"Oltin Hosil fermer xo'jaligi"},"director_full_name":{"type":"string","example":"Karimov Jasur Baxtiyorovich"},"phone":{"type":"string","example":"+998901234567","nullable":true},"address":{"type":"string","example":"Chirchiq tumani, 1-hudud"},"region_id":{"type":"integer","example":1,"nullable":true},"region_name":{"type":"string","example":"Toshkent viloyati","nullable":true},"district_id":{"type":"integer","example":5,"nullable":true},"district_name":{"type":"string","example":"Chirchiq tumani","nullable":true},"area":{"type":"string","example":"1-hudud","nullable":true}},"type":"object"},"Goal":{"title":"Goal","description":"Maqsad resursi","properties":{"id":{"type":"integer","example":1},"crop_type_id":{"type":"integer","example":1},"crop_type_name":{"type":"string","example":"Bug'doy"},"agro_event_id":{"type":"integer","example":1},"agro_event_name":{"type":"string","example":"Sug'orish"},"name":{"type":"string","example":"Bug'doy sug'orish maqsadi"},"icon":{"type":"string","example":null,"nullable":true},"is_active":{"type":"boolean","example":true}},"type":"object"},"MonitoringImage":{"title":"MonitoringImage","description":"Monitoring rasmi resursi","properties":{"id":{"type":"integer","example":1},"url":{"type":"string","example":"https:\/\/gateway-agrosert.simplex.uz\/api\/v1\/inspector\/files\/inspector\/monitorings\/abc.jpg"}},"type":"object"},"MonitoringList":{"title":"Monitoring List Item","description":"Monitoring ro'yxat elementi (qisqartirilgan)","properties":{"id":{"type":"integer","example":1},"stir":{"description":"Korxona STIR","type":"string","example":"123456789"},"farm_name":{"description":"Korxona nomi (enterprises.legal_name)","type":"string","example":"Oltin Hosil"},"contour_number":{"type":"string","example":"#000000001"},"crop_type_id":{"type":"integer","example":1},"crop_type_name":{"type":"string","example":"Bug'doy"},"status":{"$ref":"#\/components\/schemas\/MonitoringStatus"},"status_label":{"description":"Yangi \/ Yuborilgan \/ Tasdiqlangan \/ Qaytarilgan","type":"string","example":"Yangi"},"created_at":{"type":"string","format":"date-time","example":"2026-03-31T12:00:00Z"}},"type":"object"},"Monitoring":{"title":"Monitoring","description":"Monitoring to'liq ma'lumotlari (show uchun)","properties":{"id":{"type":"integer","example":1},"contour_number":{"type":"string","example":"#000000001"},"enterprise":{"$ref":"#\/components\/schemas\/Enterprise"},"crop_type_id":{"type":"integer","example":1},"crop_type_name":{"type":"string","example":"Bug'doy"},"agro_event_id":{"type":"integer","example":1},"agro_event_name":{"type":"string","example":"Sug'orish"},"goal_id":{"type":"integer","example":1},"goal_name":{"type":"string","example":"Bug'doy sug'orish rejasi"},"area_hectare":{"type":"number","format":"double","example":25.5},"action_type":{"$ref":"#\/components\/schemas\/ActionType"},"action_type_label":{"type":"string","example":"Yozma ko'rsatma"},"status":{"$ref":"#\/components\/schemas\/MonitoringStatus"},"status_label":{"type":"string","example":"Yangi"},"images":{"type":"array","items":{"$ref":"#\/components\/schemas\/MonitoringImage"}},"created_at":{"type":"string","format":"date-time","example":"2026-02-24T12:00:00Z"}},"type":"object"},"SiteInspectionList":{"title":"Site Inspection List Item","description":"Dala tekshiruvi ro'yxat elementi","properties":{"id":{"type":"integer","example":1},"contour_number":{"type":"string","example":"INS#000000001"},"stir":{"type":"string","example":"123456789"},"farm_name":{"type":"string","example":"Oltin Hosil FX"},"farm_leader":{"type":"string","example":"Karimov Jasur"},"phone":{"type":"string","example":"+998901234567"},"address":{"type":"string","example":"Andijon tumani, 1-hudud"},"region_id":{"type":"integer","example":1},"region_name":{"type":"string","example":"Andijon viloyati"},"district_id":{"type":"integer","example":1},"district_name":{"type":"string","example":"Andijon tumani"},"area":{"type":"string","example":"Andijon","nullable":true},"area_hectare":{"type":"number","example":45.5,"nullable":true},"crop_category_id":{"type":"integer","example":1,"nullable":true},"crop_category_name":{"type":"string","example":"Don ekinlari","nullable":true},"crop_type_id":{"type":"integer","example":1,"nullable":true},"crop_type_name":{"type":"string","example":"Bug'doy","nullable":true},"agro_event_id":{"type":"integer","nullable":true},"agro_event_name":{"type":"string","nullable":true},"goal_id":{"type":"integer","nullable":true},"goal_name":{"type":"string","nullable":true},"action_type":{"type":"string","nullable":true},"action_type_label":{"type":"string","nullable":true},"inspection_type":{"type":"object","nullable":true},"basis":{"type":"object","nullable":true},"inspection_type_file_url":{"type":"string","nullable":true},"field_status":{"type":"string","example":"pending","nullable":true},"field_status_label":{"type":"string","example":"Kutilmoqda","nullable":true},"file_url":{"type":"string","nullable":true},"approved_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"}},"type":"object"},"SiteInspection":{"title":"Site Inspection","description":"Dala tekshiruvi to'liq ma'lumotlari (show uchun)","properties":{"id":{"type":"integer","example":1},"contour_number":{"type":"string","example":"INS#000000001"},"enterprise":{"$ref":"#\/components\/schemas\/Enterprise"},"crop_category_id":{"type":"integer","example":1},"crop_category_name":{"type":"string","example":"Don ekinlari"},"crop_type_id":{"type":"integer","example":1},"crop_type_name":{"type":"string","example":"Bug'doy"},"agro_event_id":{"type":"integer","example":1},"agro_event_name":{"type":"string","example":"Sug'orish"},"goal_id":{"type":"integer","example":1},"goal_name":{"type":"string","example":"Bug'doy sug'orish rejasi"},"area_hectare":{"type":"number","format":"double","example":25.5},"action_type":{"type":"string","example":"written_instruction"},"action_type_label":{"type":"string","example":"Yozma ko'rsatma"},"status":{"description":"Hujjat bosqichi (doim approved)","type":"string","example":"approved"},"status_label":{"type":"string","example":"Tasdiqlangan"},"field_status":{"description":"Dala bosqichi: null\/draft\/submitted\/completed\/rejected","type":"string","example":"draft","nullable":true},"field_status_label":{"type":"string","example":"Qoralama","nullable":true},"file_url":{"description":"Dala tekshiruvi fayli (foto\/video)","type":"string","nullable":true},"link":{"type":"string","example":"https:\/\/maps.google.com\/...","nullable":true},"state_id":{"type":"integer","example":1},"state_name":{"type":"string","example":"Toshkent viloyati"},"city_id":{"type":"integer","example":5},"city_name":{"type":"string","example":"Chirchiq tumani"},"field_inspected_by":{"type":"integer","nullable":true},"field_submitted_at":{"type":"string","format":"date-time","nullable":true},"field_reject_reason":{"type":"string","nullable":true},"approved_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"documents":{"description":"4 turdagi hujjatlar","type":"array","items":{"properties":{"id":{"type":"integer","nullable":true},"type":{"type":"string","example":"notification"},"type_label":{"type":"string","example":"Xabardor qilish hujjati"},"uploaded":{"type":"boolean"},"status":{"properties":{"value":{"type":"string"},"label":{"type":"string"}},"type":"object","nullable":true},"file_url":{"type":"string","nullable":true},"signed_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}},"type":"object"}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT Authorization header. Example: \"Bearer {token}\""}}},"tags":[{"name":"Auth Service","description":"\ud83d\udd10 Autentifikatsiya va avtorizatsiya xizmati"},{"name":"Shared Service","description":"\ud83c\udf0d Umumiy ma'lumotlar: Mamlakatlar, Viloyatlar, Tumanlar"},{"name":"Agroteh Service","description":"\ud83d\ude9c Qishloq xo'jaligi texnikasi ro'yxatga olish va texnik ko'rik"},{"name":"Admin Service","description":"\ud83d\udc65 Foydalanuvchilar, rollar va ruxsatlar boshqaruvi"},{"name":"Seed Service","description":"\ud83c\udf31 Urug'chilik va sertifikatsiya"},{"name":"Product Service","description":"\ud83d\udce6 Mahsulot sifati nazorati - tegirmon, maskanga xulosa, tozalov dalolatnomalari"},{"name":"Reporting Service","description":"\ud83d\udcca Hisobotlar va statistika \u2014 Paxta-don, Agroteh, TM bo'limlar hisobotlari"},{"name":"Agro Operations Service","description":"\ud83c\udf3e Qishloq xo'jaligi operatsiyalari"},{"name":"TM Agroteh Service","description":"\ud83d\ude9c TM qishloq xo'jaligi texnikasi xizmati"},{"name":"Inspector Service","description":"\ud83d\udd0d Inspektorlik xizmati"},{"name":"HRM Service","description":"\ud83d\udc64 Xodimlar reestri va Excel import"},{"name":"Propaganda Service","description":"\ud83d\udce3 Targ'ibot va tashviqot \u2014 viloyat\/tuman xodimlari va respublika direktori"},{"name":"KPI Service","description":"\ud83d\udcca KPI \u2014 samaradorlik ko'rsatkichlari baholash tizimi"},{"name":"Entrepreneur Service","description":"\ud83d\udcf1 Tadbirkorlar uchun mobil ilovaning BFF (auth, dashboard, korxonalar, texnikalar, hujjatlar, profil, bildirishnomalar)"},{"name":"Documents Service","description":"\ud83d\udcd1 DocFlow \u2014 hujjat aylanmasi, parallel\/ketma-ket tasdiqlash, PDF + QR tasdiqlash"}],"security":[{"bearerAuth":[]}]}