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 записами для продуктивності
  • Розбивка по годинах допомагає виявити пікові години навантаження
  • Використовуйте для щоденного моніторингу та контролю якості