Bronjoy
Qo'llanmalar

Xizmatlar va jadval

Xizmatlar yaratish, xodimlar jadvalini sozlash va bandlik istisnolarini boshqarish.

Xizmatlar

Xizmatlar — bu tashkilotingizning yozilish mumkin bo'lgan takliflari. Har bir xizmatning o'z davomiyligi, narxi va uni qaysi xodimlar ko'rsata olishi belgilanadi.

Xizmat yaratish

POST /api/org/services
Authorization: Bearer your-token
Content-Type: application/json
{
  "name": "Deep Tissue Massage",
  "description": "60-minute full-body deep tissue massage",
  "duration": 60,
  "price": 150000,
  "category_id": 2,
  "buffer_time": 15,
  "color": "#6366f1"
}

Maydonlar ma'lumotnomasi:

MaydonTurTavsif
namestringMijozlarga ko'rsatiladigan xizmat nomi
descriptionstringQisqa tavsif (1–3 gap)
durationintegerDavomiyligi (daqiqalarda)
priceintegerValyutaning eng kichik birligidagi narx
category_idintegerTurkum bo'yicha guruhlash (ixtiyoriy)
buffer_timeintegerQabuldan keyingi tanaffus, daqiqalarda (tozalash, yo'l)
colorstringKalendarda ko'rsatish uchun Hex rang
prepay_requiredbooleanYozilish paytida to'lovni talab qilish
prepay_amountintegerBelgilangan depozit summasi (agar prepay_required bo'lsa)
max_advance_daysintegerBu xizmatga necha kun oldin yozilish mumkin
min_lead_hoursintegerYozilishdan oldin talab etiladigan minimal soatlar
is_activebooleanXizmat ko'rinadigan va yozilish mumkin bo'lgan holatdami

Xizmat turkumlari

Yozilish sahifangizda tartibni yaxshilash uchun xizmatlarni turkumlarga guruhlang:

GET /api/org/services/categories

Turkumlar butun tashkilotingiz bo'ylab umumiy bo'ladi va mijozlarga xizmatlar ro'yxatida yo'l topishga yordam beradi.

Xizmatlar bo'yicha maslahatlar

  • Davomiylik aniqligi — Kam baholasangiz bo'shliqlar paydo bo'ladi; ko'p baholasangiz slotlarni yo'qotasiz. O'zingizni vaqt bilan tekshiring.
  • Bufer vaqti — Xonani tayyorlash, izoh yozish yoki tayyorgarlik uchun doim bufer qo'shing. Hatto 5–10 daqiqa ham shoshqaloqlikning oldini oladi.
  • Narx — Mijoz to'laydigan narxni belgilang. Depozitdan foydalansangiz, prepay_amount ni depozit summasiga qo'ying va prepay_required: true qiling.
  • Ranglar — Xizmat turkumlariga turli ranglar bering — bu xodimlar kalendarini o'qishni ancha osonlashtiradi.

Jadvallar

Jadval xodim qabullarni qachon qabul qila olishini belgilaydi. Jadval belgilanmaguncha o'sha xodim uchun hech qanday slot yaratilmaydi.

Jadval yozuvini yaratish

POST /api/org/schedule
Authorization: Bearer your-token
Content-Type: application/json
{
  "staff_id": 1,
  "day_of_week": 1,
  "start_time": "09:00",
  "end_time": "18:00"
}

day_of_week: 0 = yakshanba, 1 = dushanba, ..., 6 = shanba.

Jadvalni ko'rish

GET /api/org/schedule?staff_id=1

Jadval yozuvini yangilash

PUT /api/org/schedule/{id}
Content-Type: application/json
{
  "start_time": "10:00",
  "end_time": "19:00"
}

Jadval yozuvini o'chirish

DELETE /api/org/schedule/{id}

To'liq hafta namunasi

1-raqamli xodim uchun odatiy dushanba–juma, 9:00–18:00 jadvali:

[
  { "staff_id": 1, "day_of_week": 1, "start_time": "09:00", "end_time": "18:00" },
  { "staff_id": 1, "day_of_week": 2, "start_time": "09:00", "end_time": "18:00" },
  { "staff_id": 1, "day_of_week": 3, "start_time": "09:00", "end_time": "18:00" },
  { "staff_id": 1, "day_of_week": 4, "start_time": "09:00", "end_time": "18:00" },
  { "staff_id": 1, "day_of_week": 5, "start_time": "09:00", "end_time": "18:00" }
]

Bandlik istisnolari

Istisnolar muayyan sanalar uchun odatdagi jadvalni bekor qiladi — bayramlar, dam olish kunlari yoki maxsus ish vaqtlari uchun qulay.

Istisno yaratish

POST /api/org/availability/exceptions
Authorization: Bearer your-token
Content-Type: application/json
{
  "staff_id": 1,
  "date": "2026-05-01",
  "is_day_off": true,
  "reason": "National holiday"
}

Kunning bir qismi uchun (boshqa ish vaqti):

{
  "staff_id": 1,
  "date": "2026-12-31",
  "is_day_off": false,
  "start_time": "09:00",
  "end_time": "14:00",
  "reason": "New Year's Eve — half day"
}

Istisnolar ro'yxati

GET /api/org/availability/exceptions?staff_id=1

Maslahatlar:

  • Yil boshida barcha ma'lum bayramlar uchun istisnolarni yaratib qo'ying
  • Xodim kasal bo'lsa, o'sha kun uchun is_day_off: true bilan istisno yarating — mavjud qabullar saqlanadi va vaqtini qayta belgilash mumkin
  • Istisnolar o'z sanasi uchun odatdagi jadvaldan ustun turadi

Slotlar qanday hisoblanadi

Slot kalkulyatori quyidagilarni hisobga oladi:

  1. Xodim jadvali — qachon ishlashi (kun, boshlanish va tugash vaqtlari)
  2. Bandlik istisnolari — muayyan sanalar uchun o'zgartirishlar
  3. Mavjud qabullar — band qilingan slotlar bloklanadi
  4. Xizmat davomiyligi — slot uzunligi xizmatga mos keladi
  5. Bufer vaqti — har bir qabuldan keyin qo'shiladi
  6. Tashkilot sozlamalari — oldindan yozilish cheklovlari, slot intervali, minimal muddat

Slotlar start_time, end_time va bo'sh xodimning staff_id si bilan qaytariladi.

Bo'sh slotlarni tekshirish

Mijozlar (va siz, API orqali) slotlarni tekshirishi mumkin:

GET /api/booking/{slug}/slots?service_id=1&date=2026-04-01

Yoki oraliq uchun:

GET /api/booking/{slug}/slots/range?service_id=1&start_date=2026-04-01&end_date=2026-04-07

Kalendarni ko'rish

Tashkilot kalendari barcha xodimlar bo'yicha barcha qabullarni ko'rsatadi:

GET /api/org/appointments/calendar?start=2026-04-01&end=2026-04-30

Oylik/haftalik kalendar ko'rinishini chizishga mos ravishda, sana bo'yicha guruhlangan qabullarni qaytaradi.

Copyright © 2026