Cargo — Mijoz (Client) BPMN diagrammasi

/api/v1/client/ — Tracking oqimi (asosiy) + Direct oqimi + Balans, Do'konlar, Chat

MIJOZ (CLIENT) 0-BOSQICH: BOSH SAHIFA (Main Screen) A Ism Familiya Balans: 150,000 UZS Popolnit balans Moi zakazy 📦 Moi adresa 📍 Magaziny 💬 Chat Osnovnoy Vvesti zakaz Bolee Profil: avatar, ism, balans Balansni to'ldirish Buyurtmalar ro'yxati Tracking + Direct Do'konlar katalogi Asosiy navigatsiya oqimlari: Tracking buyurtma Direct buyurtma Balans boshqaruvi Do'konlar / Kalkulyator Profil / Chat ASOSIY OQIM (Globbing.uz) Qo'shimcha buyurtma Hamyon Katalog + Narx hisoblash Shaxsiy ma'lumotlar 1-BOSQICH: AUTENTIFIKATSIYA Boshlash Telefon raqam kiritish (+998...) OTP SMS yuborish TIZIM OTP kodni kiritish ? Noto'g'ri (max 5 urinish) To'g'ri Ism, familiya, foydalanuvchi turi, manba to'ldirish Yangi Username avto-gen FL{id} / YL{id} TIZIM JWT tokenlar qaytarish UserDevice saqlash device_id, push_token, app_version Mavjud foydalanuvchi 2-BOSQICH: TRACKING OQIMI (ASOSIY BUYURTMA) — Globbing.uz model T Forwarding manzillar GET /forwarding-addresses/ Shaxsiy personal_code Davlat tanlash AQSH, Angliya, Xitoy, Turkiya ... Manzilni nusxalash Address + personal_code Clipboard copy ? Xorijda xarid qildimi? Yo'q, kutish Buyurtma kiritish POST /orders/tracking-entry/ tracking_code, product_name, shop, category, price, qty Ha Yana tovar qo'shish Qabul qiluvchi Recipient tanlash yoki yangi qo'shish Order yaratildi Status: ENTERED ENTERED Bildirishnoma: Trek-nomer kiritildi Mijoz tracking code bilan buyurtma kiritadi (Globbing.uz modeli) Tizim xorijiy omborga manzil beradi, mijoz xarid qilib track kiritadi 3-BOSQICH: BALANS BOSHQARUVI Balansni ko'rish GET /wallet/ Joriy balans Balansni to'ldirish POST /wallet/top-up/ Summa kiritish $ FAILED WalletTransaction IN Balans yangilandi SUCCESS OK Tranzaksiyalar tarixi GET /wallet/transactions/ 4-BOSQICH: 5 BOSQICHLI KUZATISH (Client tracking view) 1. ENTERED Kiritildi / Vvedeno tracking_code kiritilgan ENTERED 2. IN_WAREHOUSE Omborda / Na sklade Xorijiy omborga yetdi WAREHOUSE 3. IN_TRANSIT Yo'lda / V puti Tashkentga jo'natildi TRANSIT 4. IN_COUNTRY O'zbekistonda / V Uzb. Mahalliy omborga yetdi IN_COUNTRY 5. RECEIVED Qabul qilindi / Polucheno Mijozga topshirildi RECEIVED Ichki status mapping: ENTERED, IN_WAREHOUSE, IN_TRANSIT, CUSTOMS_CLEARANCE, IN_COUNTRY, OUT_FOR_DELIVERY, DELIVERED, COMPLETED Tizim jarayoni (ombor qabul qilganda): Ombor qabul qildi WMS scan / IN_WAREHOUSE Narx hisoblanadi weight * tariff + HAK Balansdan yechiladi WalletTransaction OUT B Muvaffaqiyatli yechildi OK Salbiy balans! Buyurtma davom etadi (jo'natiladi) Qabul qilish bloklangan Manfiy Balansni to'ldirish Qaytadan to'lov qilish 5-BOSQICH: YETKAZISH (Delivery) D Manfiy balans — qabul qilish bloklangan To'lov qilinmaguncha olish mumkin emas Qarzdor Balansni to'ldirish sahifasiga Filialga kelish WAREHOUSE_PICKUP PICKUP Tracking code ko'rsatish Identifikatsiya Filial manzili bildirishnomada ko'rsatiladi Kuryer yetkazish OUT_FOR_DELIVERY COURIER DELIVERED Mijozga topshirildi DELIVERED 72h COMPLETED Avtomatik yoki tasdiq Yakunlandi 6-BOSQICH: QO'SHIMCHA FUNKSIYALAR (parallel) Do'konlar katalogi Do'konlar ro'yxati GET /shops/ Qidirish / Filtr search, category Do'kon ko'rish link, reyting, sharhlar Sharh qoldirish POST /shops/{id}/reviews/ Kalkulyator Narx kalkulyator GET /calculator/ Davlat + Og'irlik country, weight Narx hisoblash tariff * weight + HAK Chat Chat ochish POST /chats/ Xabar yozish POST /chats/{id}/messages/ Operator javobi Push notification Chat yopildi CLOSED status Profil boshqaruvi Shaxsiy ma'lumotlar GET/PUT /profile/ Qabul qiluvchilar GET/POST /recipients/ Manzillar GET/POST /addresses/ Bildirishnoma sozlash Notification preferences Parol o'zgartirish PUT /auth/password/ 7-BOSQICH: DIRECT OQIMI (Qo'shimcha) — To'liq buyurtma + deklaratsiya + to'lov Mijoz to'g'ridan-to'g'ri posilka yubormoqchi bo'lganda (direct shipping) A: BUYURTMA YARATISH (Direct) D Buyurtma yaratish origin, destination, service type, delivery DRAFT Posilkalar qo'shish tavsif, og'irlik, o'lchamlar (L x W x H) Tracking code gen Volumetric weight hisob Oversized tekshiruv TIZIM +? Yana posilka qo'shish Status o'zgarishi PENDING_DECLARATION AVTOMATIK Tayyor B: DEKLARATSIYA (Direct) Deklaratsiya to'ldirish tavsif, qiymat, HS kod, miqdor, kategoriya Risk score hisoblash Taqiqlangan buyum tekshiruv TIZIM RS Auto-APPROVED risk_score <= 60 <= 60 Admin tekshiruviga yuborildi (UNDER_REVIEW) > 60 REJECTED / REVISION_REQUESTED Barcha deklaratsiyalar APPROVED OK Status o'zgarishi PENDING_PAYMENT C: NARXLASH VA TO'LOV (Direct) Narx olish (Quote) chargeable_weight * price_per_kg + HAK + oversized + sug'urta Quote yaratish 24 soat amal qiladi TIZIM $ CARD to'lov Gateway sahifasi CARD CASH — naqd Filialga kelganda CASH TRANSFER Bank o'tkazmasi TRANSFER FAILED -> qayta urinish Order -> PAID Invoice generatsiya PAID D: OMBOR QAYTA ISHLASH VA KUZATISH (Direct) Posilka omborga kelishini kutish Order -> PROCESSING WMS birinchi parcel qabul qilganda kg Narx qayta hisoblash Bildirishnoma yuborish Farq >10% Qo'shimcha to'lov Narx oshdi Farq qaytariladi Narx tushdi Farq yo'q, davom Posilkani kuzatish GET /tracking/{code}/ WebSocket real-time IN_TRANSIT ARRIVED_AT_DESTINATION Bildirishnomalar SMS + Push har status da DELAYED -> SMS xabar E: YETKAZISH VA YAKUNLASH (Direct) Filialdan o'zi olish Tracking code ko'rsatish PICKUP Kuryer yetkazish OUT_FOR_DELIVERY COURIER Order -> DELIVERED Barcha parcellar DELIVERED DELIVERED 72h Order -> COMPLETED Avtomatik yoki mijoz tasdiq Yakunlandi Belgilar: Boshlanish Yakunlanish Timer Mijoz amali Tizim amali Tracking amali Qaror Oqim Xato OK Subprocess Annotatsiya Tracking oqimi (2-5 bosqichlar) — asosiy Globbing.uz modeli | Direct oqimi (7-bosqich subprocess) — to'liq deklaratsiya + to'lov modeli | Chat — operator bilan muloqot