Yozilish jarayoni
Umumiy ma'lumot
Bronjoy'dagi yozilish jarayoni bir necha bosqichdan iborat: mijoz xizmatni tanlaydi, xodim va vaqt oralig'ini belgilaydi, o'z ma'lumotlarini kiritadi, kerak bo'lsa to'lovni amalga oshiradi va tasdiqni oladi.
1-qadam: Xizmatni tanlash
Mijoz tashkilotning ochiq yozilish sahifasidagi mavjud xizmatlarni ko'rib chiqadi.
GET /api/booking/{slug}/services
Har bir xizmatning nomi, davomiyligi, narxi va uni qaysi xodimlar ko'rsata olishi ko'rsatiladi. Autentifikatsiya talab etilmaydi — bu ochiq yozilish sahifasining endpoint'i.
2-qadam: Bo'sh vaqtlarni tekshirish
Xizmat tanlangach, ma'lum bir sana uchun bo'sh vaqt oraliqlarini oling.
GET /api/booking/{slug}/slots?service_id=1&date=2026-03-25
Yoki bir yo'la butun sana oralig'i uchun:
GET /api/booking/{slug}/slots/range?service_id=1&start_date=2026-03-25&end_date=2026-03-31
Slot kalkulyatori quyidagilarni hisobga oladi:
- Xodimning ish vaqti va tanaffuslari
- Mavjud yozilishlar
- Xizmat davomiyligi + bufer vaqti
- Tashkilotning oldindan yozilish cheklovlari
Tayinlangan xodim bilan birga bo'sh vaqt oraliqlari massivini qaytaradi.
3-qadam: Qabulni yaratish
Tanlangan slot bilan yozilishni yuboring. Bu ham mehmonlar, ham tizimga kirgan mijozlar uchun ishlaydi — Bronjoy mijozni mavjud bo'lsa auth token orqali, aks holda so'rov tanasidagi aloqa ma'lumotlari orqali aniqlaydi.
POST /api/client/booking/{slug}
Content-Type: application/json
{
"service_id": 1,
"staff_id": 3,
"start_time": "2026-03-25T10:00:00Z",
"notes": "First visit",
"name": "Maria Garcia",
"phone": "+998901234567"
}
Mehmon sifatida yozilishda name hamda phone yoki email dan kamida bittasi talab etiladi; agar so'rovda mijozning Bearer token'i bo'lsa, ular e'tiborga olinmaydi. Qabul Pending holatida yaratiladi.
4-qadam: To'lov (agar talab etilsa)
Agar tashkilot to'lovni talab qilsa, Stripe Checkout Session avtomatik yaratiladi. Mijoz to'lovni yakunlash uchun Stripe'ga yo'naltiriladi.
POST /api/client/payments/appointments/{appointment}/pay
Authorization: Bearer client-token
To'lov muvaffaqiyatli amalga oshgach, qabul Confirmed holatiga o'tadi. To'liq jarayon uchun To'lovlar bo'limiga qarang.
5-qadam: Tasdiqlash
Mijoz qabul tafsilotlari bilan tasdiqni oladi. Bildirishnomalar quyidagi kanallar orqali yuboriladi:
- Ma'lumotlar bazasidagi bildirishnoma (ilovada ko'rinadi)
- Telegram (agar mijoz o'z hisobini ulagan bo'lsa)
Holatlar oqimi
Pending → Confirmed → Completed
↓ ↓
Cancelled Cancelled
↓
NoShow
- Pending — tasdiq yoki to'lov kutilmoqda
- Confirmed — to'lov qabul qilindi yoki xodim tomonidan qo'lda tasdiqlandi
- Completed — xizmat ko'rsatildi
- Cancelled — mijoz yoki xodim tomonidan bekor qilindi
- NoShow — mijoz kelmadi