Daily Entries Report
Щоденний звіт проходів через турнікети для відділу контролю.
Endpoint
GET /api/v1/reports/daily-entries/
Authentication
Required: Yes (Token Authentication)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | Yes | Дата звіту (YYYY-MM-DD) |
| turnstile_number | string | No | Фільтр по номеру турнікета |
| validation_status | string | No | Фільтр по статусу: valid або invalid |
| booking_number | string | No | Фільтр по номеру бронювання |
Response
Success Response (200 OK)
{
"date": "2025-11-05",
"summary": {
"total_entries": 245,
"valid_entries": 230,
"invalid_entries": 15,
"unique_skipasses": 180
},
"by_hour": [
{
"hour": "09:00",
"valid": 45,
"invalid": 2
},
{
"hour": "10:00",
"valid": 52,
"invalid": 1
},
{
"hour": "11:00",
"valid": 38,
"invalid": 3
}
],
"invalid_entries": [
{
"timestamp": "2025-11-05T09:15:23Z",
"skipass_number": "12-2323-9999999",
"turnstile_number": "T-07",
"reason": "Skipass not found in lessons or hotel bookings"
},
{
"timestamp": "2025-11-05T10:22:45Z",
"skipass_number": "12-2323-8888888",
"turnstile_number": "T-03",
"reason": "Skipass expired (outside valid_from/valid_until)"
}
]
}
Error Response (400 BAD REQUEST)
{
"error": "Parameter 'date' (YYYY-MM-DD) is required"
}
{
"error": "Invalid date format. Use YYYY-MM-DD"
}
Response Fields
Summary
| Field | Type | Description |
|---|---|---|
| total_entries | integer | Загальна кількість спроб проходу |
| valid_entries | integer | Успішні проходи |
| invalid_entries | integer | Відхилені проходи |
| unique_skipasses | integer | Унікальних скіпасів |
By Hour
Розбивка проходів по годинах (00:00 - 23:00). Показуються лише години з активністю.
| Field | Type | Description |
|---|---|---|
| hour | string | Година (формат "HH:00") |
| valid | integer | Валідних проходів за годину |
| invalid | integer | Невалідних проходів за годину |
Invalid Entries
Деталі невалідних проходів (максимум 100 записів).
| Field | Type | Description |
|---|---|---|
| timestamp | datetime | Час спроби проходу |
| skipass_number | string | Номер скіпасу |
| turnstile_number | string | Номер турнікета |
| reason | string | Причина відхилення |
Use Cases
Щоденний контроль
GET /api/v1/reports/daily-entries/?date=2025-11-05
Отримати повну статистику за день для аналізу роботи системи.
Аналіз конкретного турнікета
GET /api/v1/reports/daily-entries/?date=2025-11-05&turnstile_number=T-07
Перевірити проходи через конкретний турнікет.
Тільки невалідні проходи
GET /api/v1/reports/daily-entries/?date=2025-11-05&validation_status=invalid
Отримати тільки відхилені спроби для розслідування.
Example cURL
# Daily report for today
curl -X GET "https://bukovelvipentry.breport.site/api/v1/reports/daily-entries/?date=2025-11-05" \
-H "Authorization: Token YOUR_TOKEN"
# Report for specific turnstile
curl -X GET "https://bukovelvipentry.breport.site/api/v1/reports/daily-entries/?date=2025-11-05&turnstile_number=T-07" \
-H "Authorization: Token YOUR_TOKEN"
# Only invalid entries
curl -X GET "https://bukovelvipentry.breport.site/api/v1/reports/daily-entries/?date=2025-11-05&validation_status=invalid" \
-H "Authorization: Token YOUR_TOKEN"
Notes
- Параметр
dateє обов'язковим - Дані показуються лише за вказану дату (не за період)
- Невалідні проходи обмежені 100 записами для продуктивності
- Розбивка по годинах допомагає виявити пікові години навантаження
- Використовуйте для щоденного моніторингу та контролю якості