Customer Statistics
Статистика по клієнту: історія уроків, улюблений інструктор, загальні години.
Endpoint
GET /api/v1/reports/{customer_id}/customer-stats/
Authentication
Required: Yes (Token Authentication)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| customer_id | integer | Yes | ID клієнта |
Response
Success Response (200 OK)
{
"customer_id": 456,
"name": "Іван Петренко",
"phone_number": "+380501234567",
"email": "ivan@example.com",
"total_lessons": 12,
"total_hours": 36.0,
"last_lesson_date": "2025-11-05",
"favorite_instructor": "Петро Іванович",
"total_skipasses_used": 15,
"lessons_history": [
{
"lesson_id": 123,
"booking_number": "HMS-12345",
"date": "2025-11-05",
"duration_hours": 6.0,
"skipasses_used": 2,
"instructor": "Петро Іванович",
"location": "Буковель-1"
},
{
"lesson_id": 115,
"booking_number": "HMS-11234",
"date": "2025-10-28",
"duration_hours": 3.0,
"skipasses_used": 1,
"instructor": "Ольга Сергіївна",
"location": "Буковель-2"
}
]
}
Error Response (404 NOT FOUND)
{
"error": "Customer not found"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| customer_id | integer | ID клієнта |
| name | string | Повне ім'я |
| phone_number | string | Номер телефону |
| string | Email адреса | |
| total_lessons | integer | Загальна кількість відвіданих уроків |
| total_hours | float | Загальна кількість годин катання |
| last_lesson_date | string | Дата останнього уроку (YYYY-MM-DD) |
| favorite_instructor | string | Найчастіший інструктор |
| total_skipasses_used | integer | Загальна кількість використаних скіпасів |
| lessons_history | array | Історія всіх уроків |
Lesson History Item
| Field | Type | Description |
|---|---|---|
| lesson_id | integer | ID уроку |
| booking_number | string | Номер бронювання |
| date | string | Дата уроку (YYYY-MM-DD) |
| duration_hours | float | Тривалість уроку (години) |
| skipasses_used | integer | Кількість скіпасів використано |
| instructor | string | Ім'я інструктора |
| location | string | Локація проведення |
Use Cases
CRM аналітика
Використовується для персоналізованого обслуговування VIP клієнтів.
Програми лояльності
Визначення активних клієнтів для бонусних програм.
Призначення інструкторів
Автоматичне призначення улюбленого інструктора при наступному бронюванні.
Example cURL
# Get customer statistics
curl -X GET "https://bukovelvipentry.breport.site/api/v1/reports/456/customer-stats/" \
-H "Authorization: Token YOUR_TOKEN"
Notes
- Статистика розраховується по всіх уроках клієнта (незалежно від статусу)
favorite_instructorвизначається як інструктор з найбільшою кількістю уроківtotal_hoursрозраховується як сума тривалості всіх уроків- Історія уроків сортується за датою (новіші зверху)
- Використовується для CRM систем та аналітики клієнтів