{"openapi":"3.0.0","info":{"title":"Agroteh Service API","description":"Qishloq xo'jaligi texnikalarini ro'yxatga olish va texnik ko'rik xizmati.\n\n**Base URL (Gateway orqali):** `https:\/\/api.agroinspeksiya.uz\/api\/v1\/`\n\n**Autentifikatsiya:** Bearer JWT Token\n\n## Asosiy bo'limlar:\n- **Vehicles** - Texnikalar boshqaruvi\n- **Customers** - Mijozlar boshqaruvi\n- **Registrations** - Ro'yxatga olish\n- **Inspections** - Texnik ko'rik\n- **Invoices** - Hisob-fakturalar\n- **Documents** - Hujjatlar (Texnik pasport, TM-1, Guvohnoma)\n- **References** - Ma'lumotnomalar\n- **Reports** - Hisobotlar\n- **Integrations** - Tashqi tizimlar bilan integratsiya","contact":{"name":"API Support","email":"support@agroinspeksiya.uz"},"version":"1.0.0"},"servers":[{"url":"https:\/\/old.uzagroin.uz","description":"Current Server"}],"paths":{"\/api\/v1\/activities":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Boshqaruv paneli"],"summary":"Dashboard statistikalari","operationId":"4d1ed083cd153b05cc9ca6a09e3f746f","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/admin\/dashboard\/charts\/invoices":{"get":{"tags":["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":["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":["Boshqaruv paneli"],"summary":"So'nggi faoliyat","operationId":"01ff39f6e8f8ffd219a2ed68155b909f","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/agro-markaz":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":{"get":{"tags":["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":["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\/districts\/{district}":{"get":{"tags":["Districts"],"summary":"Tuman ma'lumotlari","operationId":"282c3acc89596dd60376f3c94e813f45","parameters":[{"name":"district","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"put":{"tags":["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":["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":["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":["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":["Asos hujjatlar"],"summary":"Xizmat turlari ro'yxati","operationId":"86d2bd98719050c2afa5e11e7e03e4dc","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/docs\/{doc}":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Hujjat turlari"],"summary":"Hujjat turi kategoriyalari ro'yxati","operationId":"7de918a424f007a1956d17924bc13fe7","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/document-types\/active":{"get":{"tags":["Hujjat turlari"],"summary":"Faol hujjat turlari ro'yxati","operationId":"987da74c0c9802e1b9c33632320d5381","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/driver-exams":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Fayl biriktirmalar"],"summary":"Fayl statistikasi","operationId":"cf55d9a8fcb84752fe1daa91701da386","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/upload":{"post":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Fayl biriktirmalar"],"summary":"Mavjud kolleksiyalar","operationId":"9f4ca6dd63543a3576fba2847692ae9c","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/file-attachments\/attachable-types":{"get":{"tags":["Fayl biriktirmalar"],"summary":"Qo'llab-quvvatlanadigan model turlari","operationId":"6def1b0fd1a7b8275fe1ebd12db781fb","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/fuel-types":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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 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 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 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 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 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 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 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 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 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 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 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 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 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 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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":{"get":{"tags":["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":["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\/regions\/{region}":{"get":{"tags":["Regions"],"summary":"Viloyat ma'lumotlari","operationId":"0fde5fd2cea4a8b2766ff043c9e2959c","parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Muvaffaqiyatli"}}},"put":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Telegram"],"summary":"Telegram foydalanuvchilar statistikasi","operationId":"bb75a850adbc5f37e3a8bd9d6744fac0","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/users\/{telegramUser}":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["Telegram"],"summary":"Telegram webhook (botdan kelgan xabarlar)","operationId":"dd9bdb620c9af1a7fe338ece7bcb5310","responses":{"200":{"description":"Qabul qilindi"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/bot-info":{"get":{"tags":["Telegram"],"summary":"Bot ma'lumotlari","operationId":"b5a5bcb541a4eb0e1c6dc2b952822226","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/telegram\/set-webhook":{"post":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["Foydalanuvchi faoliyati"],"summary":"Harakat turlari ro'yxati","operationId":"f9cac93576ada74fe7f08311b91671a0","responses":{"200":{"description":"Muvaffaqiyatli"}},"security":[{"bearerAuth":[]}]}},"\/api\/v1\/user-activities\/statistics":{"get":{"tags":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":["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":[]}]}}},"components":{"schemas":{"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"},"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"},"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"}},"securitySchemes":{"bearerAuth":{"type":"http","description":"JWT autentifikatsiya tokeni","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"bearerAuth":[]}],"tags":[{"name":"Agroin","description":"Uzagroin (agro.uz) platformasi bilan integratsiya moduli. Agro.uz tizimidan keladigan xatlarni (so'rovlarni) qabul qilish, saqlash va boshqarish. Modul transport vositalarni ro'yxatga olishda agro.uz dan tasdiqlash olish jarayonini avtomatlashtiradi. Xatlar mijoz INN, foydalanuvchi INN, DRB (davlat ro'yxat belgisi) va boshqa parametrlar bo'yicha filtrlanadi. Statistika, PDF yuklab olish, mijoz tarixi va DRB tarixi endpointlari mavjud."},{"name":"Services","description":"Tashqi xizmatlar - DSQ, YHXX, Adliya, QXV, Bojxona, va boshqalar"},{"name":"Telegram","description":"Telegram bot integratsiyasi \u2014 foydalanuvchilar, xabarlar, broadcast va webhook"},{"name":"Faoliyat tarixi","description":"Spatie audit log \u2014 tizimda amalga oshirilgan barcha o'zgarishlar tarixi"},{"name":"Boshqaruv paneli","description":"Admin panel \u2014 tizim statistikasi, oxirgi faoliyatlar, umumiy ko'rsatkichlar. Faqat admin roli uchun."},{"name":"AgroMarkaz sinxronlash","description":"AgroMarkaz tizimi bilan texnikalar sinxronlash \u2014 holat kuzatuvi, qo'lda sinxronlash va hisobot"},{"name":"AgroPortal","description":"AgroPortal (agroportal.uz) integratsiyasi \u2014 ariza va xizmatlar monitoringi"},{"name":"Zaxira nusxalar","description":"Ma'lumotlar bazasi zaxira nusxalarini yaratish, boshqarish va yuklab olish"},{"name":"Kalendar","description":"Kalendar sanalari boshqaruvi. Ish kunlari va dam olish kunlarini belgilash uchun ishlatiladi. Texnika ro'yxatga olish, to'lov muddatlari va boshqa jarayonlarda ish kunlarini hisoblashda qo'llaniladi."},{"name":"Ranglar","description":"Texnika ranglarini boshqarish \u2014 qo'shish, tahrirlash, o'chirish. Texnika ro'yxatga olishda rang tanlash uchun ishlatiladi."},{"name":"Mijoz faoliyat turlari","description":"Mijoz faoliyat turlari (IFUT kodlari) boshqaruvi. Texnika ro'yxatga olish jarayonida mijozning faoliyat turini belgilash uchun ishlatiladi. Har bir faoliyat turining nomi va IFUT raqami bo'ladi."},{"name":"Mijoz kategoriyalari","description":"Mijoz kategoriyalarini boshqarish (jismoniy va yuridik shaxslar uchun)"},{"name":"Mijozlar","description":"Mijozlar (texnika egalari) boshqaruvi \u2014 jismoniy va yuridik shaxslarni ro'yxatga olish, qidirish, ma'lumotlarini yangilash, kategoriya boshqaruvi, davlat reyestridan (GNK, GCP, MVD) ma'lumot olish va avtomatik yaratish, likvidatsiya\/faollashtirish, transport vositalari va hisob-fakturalari ro'yxati, tarix va statistika. Barcha texnika operatsiyalari uchun mijoz ro'yxatdan o'tgan bo'lishi shart."},{"name":"Districts","description":"Tumanlar (shaharlar) boshqaruvi"},{"name":"Asos hujjatlar","description":"Asos hujjatlar boshqaruvi \u2014 xizmat turlari bo'yicha hujjatlar ro'yxati"},{"name":"Hujjat turlari","description":"Hujjat turlari boshqaruvi \u2014 xizmat kategoriyalari bo'yicha hujjat turlari"},{"name":"Haydovchilik imtihonlari","description":"Haydovchilik guvohnomasi olish uchun nazariy va amaliy imtihonlar boshqaruvi"},{"name":"Haydovchilik guvohnomalari","description":"Haydovchilik guvohnomalarini berish, qayta berish, yangilash, bekor qilish va boshqarish. Har bir mijozga faqat bitta faol guvohnoma beriladi. Amal turlari: give \u2014 yangi guvohnoma berish, recover \u2014 qayta berish (yo'qotilgan\/eskirgan), update \u2014 mavjud guvohnomani yangilash (masalan, kategoriya qo'shish). Guvohnoma kategoriyalari: A, B, C, D, E, F. Seriya va raqam avtomatik generatsiya qilinishi mumkin (viloyat kodiga qarab). Muddati o'tgan guvohnomalar alohida filtrlanishi mumkin."},{"name":"DXA vazifalari","description":"DXA (Davlat xizmatlari agentligi) topshiriqlari \u2014 qabul qilish, qayta ishlash va javob yuborish"},{"name":"Ekologiya integratsiyasi","description":"Ekologiya vazirligi bilan integratsiya \u2014 kiruvchi so'rovlar jurnali va webhook. Reyestr mantiqidan foydalanadi."},{"name":"Imtihon turlari","description":"Haydovchilik imtihon turlarini boshqarish. Texnikani boshqarish huquqini berish uchun o'tkaziladigan nazariy, amaliy va aralash imtihon turlarini sozlash va boshqarish."},{"name":"Eksport","description":"Ma'lumotlarni Excel (XLSX) va CSV formatda eksport qilish. Texnikalar, mijozlar, texnik ko'riklar, ro'yxatga olishlar, hisob-fakturalar, haydovchilik guvohnomalari, TM-1 ma'lumotnomalar, texnik guvohnomalar va YIDXP arizalarini turli filtrlar bilan yuklab olish mumkin."},{"name":"Tashqi xizmatlar","description":"Tashqi davlat tizimlari bilan amalga oshirilgan so'rovlar tarixini ko'rish va statistikasini olish uchun endpointlar. DSI (Davlat soliq inspeksiyasi), MIB (Majburiy ijro byurosi), Bojxona, Notariat, Auksion, UzAuto, Qurilish vazirligi va Qishloq xo'jaligi vazirligi so'rovlari ro'yxati, batafsil ma'lumotlari va umumiy statistikasi mavjud. Filtrlash, sahifalash va sana oralig'i bo'yicha qidirish imkoniyatlari bor."},{"name":"Zavodlar","description":"Zavodlar (ishlab chiqaruvchilar) boshqaruvi \u2014 qo'shish, tahrirlash, o'chirish. Texnika ro'yxatga olishda ishlab chiqaruvchi zavodni tanlash uchun ishlatiladi."},{"name":"Fayl biriktirmalar","description":"Modellarga fayl biriktirish, yuklash, yuklab olish va boshqarish"},{"name":"Yoqilg'i turlari","description":"Yoqilg'i turlarini boshqarish \u2014 qo'shish, tahrirlash, o'chirish. Texnika ro'yxatga olishda yoqilg'i turini tanlash uchun ishlatiladi."},{"name":"Texnik ko'rik","description":"Transport vositalarning texnik holatini tekshirish va dalolatnoma berish moduli. Majburiy (yillik) va umumiy texnik ko'riklarni yaratish, natija belgilash (o'tdi\/o'tmadi), tasdiqlash va bekor qilish jarayonlarini boshqaradi. Muddati o'tgan ko'riklar monitoringi, SMS bildirishnomalar yuborish, PDF hisobotlar generatsiya qilish imkoniyatlari mavjud. To'lov (invoice) integratsiyasi bilan ishlaydi."},{"name":"Texnik ko'rik \u2014 Bildirishnomalar","description":"Muddati o'tgan texnik ko'riklar uchun SMS bildirishnomalar yuborish va monitoring qilish. Yakka va ommaviy (bulk) SMS jo'natish, bildirishnoma holati kuzatish, statistika olish."},{"name":"Texnik ko'rik \u2014 PDF","description":"Texnik ko'rik hujjatlarini PDF formatda generatsiya qilish: ko'rik akti, muddati o'tgan ko'riklar hisoboti (medlist), brauzerda ko'rish (stream) va yuklab olish (download)."},{"name":"Integratsiya: DSI (Davlat soliq inspeksiyasi)","description":"Davlat soliq inspeksiyasi tizimida transport vosita yoki shaxs bo'yicha taqiqlarni tekshirish"},{"name":"Integratsiya: MIB (Majburiy ijro byurosi)","description":"Majburiy ijro byurosi tizimida jismoniy\/yuridik shaxs bo'yicha qarzdorlik tekshirish"},{"name":"Integratsiya: Bojxona (GTK)","description":"Davlat bojxona qo'mitasi \u2014 transport vositaning import rasmiylashtiruvi tekshirish"},{"name":"Integratsiya: Soliq qo'mitasi","description":"Soliq qo'mitasi tizimida transport vosita bo'yicha faol taqiqlar tekshirish"},{"name":"Integratsiya: Notariat xizmati","description":"Notariat tizimida garov, taqiq yoki boshqa cheklovlar tekshirish"},{"name":"Integratsiya: UzAuto zavodi","description":"UzAuto zavodidan transport vosita ishlab chiqarish ma'lumotlarini olish"},{"name":"Integratsiya: E-ijro Auksion","description":"Auksion savdo tizimida lot bo'yicha xarid tasdiqlash"},{"name":"Integratsiya: Qurilish vazirligi","description":"Qurilish vazirligi tizimida tashkilot faoliyatini tekshirish"},{"name":"Integratsiya: Qishloq xo'jaligi vazirligi","description":"QXV tizimida fermer\/dehqon xo'jaligi ma'lumotlarini tekshirish"},{"name":"Integratsiya: Kompleks tekshiruv","description":"Barcha davlat tizimlari bo'yicha bir yo'la kompleks tekshirish"},{"name":"Invoyslar va to'lovlar","description":"Texnika ro'yxatga olish, texnik ko'rik, haydovchilik guvohnomasi va boshqa xizmatlar uchun invoys yaratish, to'lov qilish, bekor qilish"},{"name":"Agroteh Permission Management","description":"Agroteh service ruxsatlarni ko'rish"},{"name":"Agroteh Role Management","description":"Agroteh service rollarni boshqarish"},{"name":"Agroteh User Management","description":"Agroteh service foydalanuvchilarni boshqarish"},{"name":"Xabarlar","description":"SMS xabarlar boshqaruvi \u2014 yuborish, arxiv va statistika"},{"name":"MIB qarzdorlar","description":"MIB (Majburiy ijro byurosi) qarzdorlari \u2014 taqiqlar, tekshiruvlar va webhook"},{"name":"NT: Foydalanuvchilar","description":"Yangi texnika bo'limi \u2014 Foydalanuvchilarni boshqarish. Rollar: nw-texnika-admin, new-texnika-diller, new-texnika-ishlab-chiqaruvchi. CRUD + masul xodimlar."},{"name":"NT: Zavodlar","description":"Yangi texnika bo'limi \u2014 Zavodlar (ishlab chiqaruvchilar) ro'yxati va boshqaruvi. Alohida nt_factories jadvalida saqlanadi."},{"name":"NT: Bojxona","description":"Yangi texnika bo'limi \u2014 Bojxona ma'lumotlari. Webhook (tashqi tizimdan qabul), qidirish (ro'yxatga olinmagan texnikalarni topish), ro'yxat."},{"name":"NT: Hisobotlar","description":"Yangi texnika bo'limi \u2014 4 ta hisobot: 1) Sertifikatlar (Excel), 2) Dillerlar (JSON\/Excel), 3) Zavodlar (JSON\/Excel), 4) Bojxona (Excel)."},{"name":"NT: Dillerlar arizasi","description":"Yangi texnika bo'limi \u2014 Diller bo'lish uchun ariza topshirish (ochiq API, auth kerak emas). Admin\/diller ariza ko'rib chiqish, tasdiqlash yoki bekor qilish."},{"name":"NT: Sertifikatlar","description":"Yangi texnika bo'limi \u2014 Sertifikatlar CRUD, PDF generatsiya, QR kod, statistika, Excel export, bojxona data yuklab olish, dillerlar va zavodlar hisobotlari. Rol: new-texnika-admin"},{"name":"NSPA \u2014 O'simliklarni himoya","description":"NSPA (O'simliklarni himoya qilish agentligi) integratsiyasi \u2014 kiruvchi so'rovlar jurnali va webhook"},{"name":"Mulkchilik shakllari","description":"Mulkchilik shakllarini boshqarish. Texnika egasining mulkchilik shakli (davlat mulki, xususiy mulk va h.k.). Mijoz (customer) yaratishda mulkchilik shakli tanlanadi."},{"name":"To'lov sozlamalari","description":"To'lov konfiguratsiyasi va narxlar boshqaruvi. To'lov kategoriyalari (ro'yxatga olish, texnik ko'rik, guvohnoma va boshqalar), to'lov turlari (har bir kategoriya ichidagi aniq to'lov nomlari va narxlari), BHM koeffitsiyenti asosida to'lov summasini hisoblash hamda to'lov merchantlari (Payme, Click va boshqalar) boshqaruvi."},{"name":"To'lov tranzaksiyalari","description":"To'lov tranzaksiyalari \u2014 invoice to'lovlari va statistika"},{"name":"To'lov turlari","description":"To'lov turlari CRUD va to'lov summalarini hisoblash. Texnikalarni ro'yxatga olish, texnik ko'rik, haydovchilik guvohnomasi, texnik pasport, ro'yxatdan chiqarish va boshqa xizmatlar uchun to'lov turlarini boshqarish. Har bir to'lov turi kategoriyaga tegishli bo'lib, eng kam ish haqi (BHM) asosida foiz bo'yicha hisoblanadi. Legacy tizim (uzagroteh-main) bilan to'liq mos."},{"name":"Pere-Register - Viloyatlar aro texnika ko'chirish","description":"Texnikani bir viloyat\/tumanidan boshqasiga ko'chirish uchun ariza yuborish, tasdiqlash va rad etish workflow'i. Jarayon: ariza yaratiladi (PENDING) \u2192 qabul qiluvchi tuman tasdiqlaydi (ACCEPTED) yoki rad etadi (REJECTED). Tasdiqlangandan so'ng RegistrationService::reregister() orqali ro'yxatga olish amalga oshiriladi."},{"name":"Prokuratura","description":"Prokuratura integratsiyasi \u2014 texnika va haydovchilik guvohnomasi ma'lumotlari so'rovlari"},{"name":"Ma'lumotnomalar","description":"Ma'lumotnomalar \u2014 ranglar, brendlar, turlari, to'lov kategoriyalari va boshqa spravochniklar"},{"name":"Regions","description":"Viloyatlar boshqaruvi"},{"name":"Ro'yxatga olish","description":"Transport vositalarni ro'yxatga olish, ro'yxatdan chiqarish va qayta ro'yxatga olish moduli. Texnikaning hayot siklini boshidan oxirigacha boshqaradi: dastlabki ro'yxatga olish, vaqtinchalik ro'yxatga olish, egasi o'zgarganda qayta ro'yxatga olish, ro'yxatdan chiqarish, yaroqsiz\/chiqarilgan deb belgilash. Har bir operatsiya uchun to'lov (invoice) integratsiyasi mavjud. Mijoz va texnika tarixi, statistika, holat tekshiruvi endpointlari ham kiritilgan."},{"name":"Ro'yxatga olish reestr","description":"Ro'yxatdan o'tish muddati tugagan transport vositalarni nazorat qilish va bildirishnoma yuborish tizimi. Ro'yxatdan chiqarilganidan 10 va undan ko'p kun o'tgan, hali qayta ro'yxatga olinmagan texnikalar ro'yxati. SMS bildirishnomalar orqali mijozlarga eslatma yuborish (yakka va ommaviy). Viloyat, tuman, bildirishnoma holati va sana oralig'i bo'yicha filtrlash. Statistika: umumiy, viloyat bo'yicha va o'tgan kunlar bo'yicha taqsimot. PDF hisobot eksporti (A4 landscape formatda)."},{"name":"Hisobotlar","description":"Barcha statistik hisobotlar: texnikalar soni, viloyat va tumanlar kesimida tahlil, daromad va xizmatlar bo'yicha hisobotlar, texnika yoshi, brendlar, imtihon natijalari hamda ma'lumotlarni eksport qilish. Ushbu bo'lim orqali tizimning barcha asosiy ko'rsatkichlarini monitoring qilish mumkin."},{"name":"Xizmat arizalari","description":"Xizmat arizalari boshqaruvi \u2014 yaratish, yangilash, fayl yuklash va o'chirish"},{"name":"Statistika","description":"O'zbekiston Respublikasi Statistika qo'mitasi integratsiyasi \u2014 texnika ma'lumotlari so'rovlari"},{"name":"Subsidiya integratsiyasi","description":"Subsidiya tizimi bilan integratsiya \u2014 kiruvchi so'rovlar jurnali. Tashqi tizim INN yoki guvohnoma raqami orqali texnika va haydovchi ma'lumotlarini so'raydi."},{"name":"Yetkazib beruvchilar","description":"Yetkazib beruvchilar boshqaruvi va PDF fayl yuklash"},{"name":"Texnik pasportlar","description":"Transport vositalari uchun texnik pasportlarni boshqarish moduli. Yangi pasport berish (give), qayta tiklash (recover), bekor qilish, pasport raqami bo'yicha qidirish, texnika va mijoz tarixi, statistika. Pasport raqami avtomatik generatsiya qilinadi (UZ-AA seriya, PostgreSQL SEQUENCE). Bepul xizmat hujjatlari uchun qo'lda kiritish mumkin. Bekor qilish cascade: bog'liq transport raqamlari va guvohnomalar ham deaktivatsiya qilinadi."},{"name":"Traktor-mashinist guvohnomalari","description":"TM-1 ma'lumotnomalar \u2014 berish, ishlatilgan deb belgilash va bekor qilish"},{"name":"Transport raqamlar","description":"Transport vositalariga davlat raqamlarini berish, qayta berish, bekor qilish va boshqarish. Har bir transport vositaga faqat bitta faol davlat raqami beriladi. Raqam turlari: 1 \u2014 yuridik shaxs o'ziyurar texnika, 2 \u2014 jismoniy shaxs o'ziyurar texnika, 3 \u2014 yuridik shaxs tirkama, 4 \u2014 jismoniy shaxs tirkama. Raqam berish (give) yoki qayta berish (recover) amallari mavjud. Qayta berishda eski raqam, texnik pasport va guvohnoma avtomatik nofaol holatga o'tkaziladi."},{"name":"Foydalanuvchi faoliyati","description":"Xodimlar harakatlari (audit log) \u2014 tbl_activities jadvali bilan ishlash"},{"name":"NT: Diller-zavod shartnomalari","description":"Yangi texnika bo'limi \u2014 Diller va zavod o'rtasidagi shartnomalar boshqaruvi. Qaysi diller qaysi zavodga biriktirilgan va shartnoma muddati. Rol: new-texnika-admin"},{"name":"Texnika brendlari","description":"Texnika brendlarini boshqarish. Har bir brend texnika turiga (traktor, kombayn va h.k.) va ish turiga bog'langan. Texnikani ro'yxatga olishda brend tanlash uchun ishlatiladi."},{"name":"Texnika guvohnomalari","description":"Agregatlar uchun texnik guvohnomalarni boshqarish moduli. Transport vosita va tirkamalarga texnik pasport beriladi, guvohnoma faqat agregatlar uchun. Yangi guvohnoma berish (give), qayta tiklash (recover), bekor qilish, raqam bo'yicha qidirish, agregat va mijoz tarixi, statistika. Guvohnoma raqami avtomatik generatsiya qilinadi (UZ-AA seriya, PostgreSQL SEQUENCE, 8682-8709 xato raqamlar o'tkaziladi). Bepul xizmat hujjatlari uchun qo'lda kiritish mumkin. RabbitMQ orqali vehicle_certificate.created\/updated\/cancelled eventlari publish bo'ladi."},{"name":"Texnikalar","description":"Transport vositalar (texnikalar) boshqaruvi \u2014 ro'yxatga olish, qidirish, bloklash\/blokdan chiqarish, hujjatlar, texnik ko'rik, egalar tarixi, TM-1 ma'lumotnomalar va statistika. Traktor, kombayn, agregat, tirkama kabi barcha qishloq xo'jaligi texnikalarini to'liq boshqarish imkonini beradi."},{"name":"Texnika qulflovchilar","description":"Texnikaga taqiq qo'yuvchi tashkilotlar boshqaruvi. Texnikani ro'yxatdan o'tkazish jarayonida qulflovchi tashkilotlar (masalan, Ichki ishlar vazirligi, Soliq qo'mitasi va boshqalar) bilan ishlash uchun ishlatiladi."},{"name":"Texnika taqiqlari","description":"Texnika taqiqlari boshqaruvi \u2014 taqiqqa olish, chiqarish va tekshirish (vehicle_lock)"},{"name":"Texnika turlari","description":"Texnika turlarini boshqarish \u2014 qo'shish, tahrirlash, o'chirish. Texnika ro'yxatga olishda turini tanlash uchun ishlatiladi. Har bir tur kategoriyaga (QX, Melioratsiya, Yo'l-qurilish, Jihoz) tegishli."},{"name":"Ish turlari","description":"Texnikaning ish turlarini boshqarish. Har bir ish turi bitta texnika turiga bog'langan. Texnika brendini yaratishda va ro'yxatga olishda ish turi tanlanadi."},{"name":"YIDXP arizalar","description":"EPIGU (my.gov.uz) platformasi orqali keladigan arizalarni boshqarish moduli. Fuqarolar va tashkilotlar EPIGU tizimi orqali texnika ro'yxatga olish, qayta ro'yxatga olish, vaqtinchalik ro'yxat, hisobdan chiqarish, ma'lumotnoma olish va texnik ko'rik uchun ariza topshiradilar. Ushbu modul arizalarni qabul qilish, rad etish, to'lovga chiqarish, to'lov holatini tekshirish, xizmat natijasini yuborish va hujjatlarni PDF formatida yuklab olish imkoniyatlarini beradi. Webhook endpointlari EPIGU tizimidan kelgan arizalarni avtomatik qabul qilish uchun ishlatiladi."},{"name":"NT: Ma'lumotnomalar","description":"NT: Ma'lumotnomalar"}]}