Ish vaqti (Time Rule)
Ish vaqti — bu qo'ng'iroqlarni ish vaqtiga qarab yo'naltiruvchi modul. Ish vaqtida kiruvchi qo'ng'iroqlar bir yo'nalishga, ish vaqtidan tashqarida (tun, dam olish kunlari) esa boshqa yo'nalishga yo'naltiriladi.
Misol: Dushanba–Juma, 09:00–18:00 oraliqda qo'ng'iroqlar operatorga (101) yo'naltiriladi. Boshqa vaqtlarda IVR (5000) ga yo'naltiriladi.
Modul diapazoni
Ish vaqti raqamlari 5600 dan 5799 gacha bo'lishi mumkin.
Asosiy tushunchalar
| Atama | Izoh |
|---|---|
Kunlar (days) | Haftaning 7 kuni, har biri uchun ish vaqti intervali |
Istisnolar (exceptions) | Maxsus sanalar (bayramlar va boshqalar) uchun alohida yo'naltirish |
Ish vaqti chiqishi (working_time) | Ish vaqtida yo'naltiriladigan modul |
Ish vaqtidan tashqari chiqishi (not_working_time) | Ish vaqtidan tashqarida yo'naltiriladigan modul |
Kunlar formati
days maydoni 7 elementdan iborat array bo'lib, har bir element quyidagicha:
| Maydon | Tur | Izoh |
|---|---|---|
day_number | integer (1–7) | Hafta kuni: 1=Dushanba, 7=Yakshanba |
enabled | boolean | Ushbu kun ish kunimı |
start_time | string (HH:mm) | Ish boshlanish vaqti |
end_time | string (HH:mm) | Ish tugash vaqti |
Muhim
days array albatta 7 elementdan iborat bo'lishi shart — haftaning barcha 7 kunini o'z ichiga olishi kerak. Har bir day_number unikal va 1 dan 7 gacha bo'lishi shart.
Istisnolar formati
exceptions maydoni ixtiyoriy bo'lib, maxsus sanalar uchun ishlaydi:
| Maydon | Tur | Izoh |
|---|---|---|
from | string (dd.mm.YYYY) | Sana boshlanishi |
to | string (dd.mm.YYYY) | Sana tugashi |
output | integer|null | Ushbu sanalar uchun yo'naltirish moduli |
Misol
Yangi yil bayramida (01.01 – 03.01) IVR 5000 ga yo'naltirish:
{
"from": "01.01.2026",
"to": "03.01.2026",
"output": 5000
}API
Ogohlantirish
Barcha endpointlar Bearer token talab qiladi. Batafsil: Auth
Ro'yxat olish
Endpoint
GET /ats/time-rule
Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | array of TimeRuleResource | Ish vaqti ro'yxati |
message | string | Xabar |
Example
{
"status": "success",
"code": 200,
"result": [
{
"id": 5600,
"title": "Asosiy ish vaqti",
"days": [
{ "day_number": 1, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 2, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 3, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 4, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 5, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 6, "enabled": false, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 7, "enabled": false, "start_time": "09:00", "end_time": "18:00" }
],
"exceptions": [
{ "from": "01.01.2026", "to": "03.01.2026", "output": 5000 }
],
"working_time": 101,
"not_working_time": 5000
}
],
"message": "Ok"
}Yaratish
Endpoint
POST /ats/time-rule
Request
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Ish vaqti raqami (5600–5799, unikal) |
title | string|null | No | Nom (max 255 belgi) |
days | array | Yes | 7 kunlik jadval (yuqoridagi format) |
days.*.day_number | integer | Yes | Hafta kuni raqami (1–7) |
days.*.enabled | boolean | Yes | Ish kunimı |
days.*.start_time | string | Yes | Boshlanish vaqti (HH:mm) |
days.*.end_time | string | Yes | Tugash vaqti (HH:mm) |
exceptions | array|null | No | Istisnolar ro'yxati |
exceptions.*.from | string | Yes | Sana boshlanishi (dd.mm.YYYY) |
exceptions.*.to | string | Yes | Sana tugashi (dd.mm.YYYY) |
exceptions.*.output | integer|null | No | Istisno chiqishi |
working_time | integer|null | No | Ish vaqti chiqishi moduli |
not_working_time | integer|null | No | Ish vaqtidan tashqari chiqishi |
Example
{
"id": 5600,
"title": "Asosiy ish vaqti",
"days": [
{ "day_number": 1, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 2, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 3, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 4, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 5, "enabled": true, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 6, "enabled": false, "start_time": "09:00", "end_time": "18:00" },
{ "day_number": 7, "enabled": false, "start_time": "09:00", "end_time": "18:00" }
],
"exceptions": [
{ "from": "01.01.2026", "to": "03.01.2026", "output": 5000 }
],
"working_time": 101,
"not_working_time": 5000
}Yangilash
Endpoint
PUT /ats/time-rule/{id}
Request
Store bilan bir xil maydonlar.
O'chirish
Endpoint
DELETE /ats/time-rule/{id}
Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | array | Bo'sh array |
message | string | Xabar |