Delete Lesson

Видалення уроку та всіх пов'язаних даних (учасників, скіпасів).

Endpoint

DELETE /api/v1/lessons/{id}/

Authentication

Required: Yes (Token Authentication)

Path Parameters

Parameter Type Required Description
id integer Yes ID уроку для видалення

Response

Success Response (200 OK)

{
  "status": "success",
  "message": "Lesson and related data deleted"
}

Error Response (400 BAD REQUEST)

{
  "status": "error",
  "message": "Lesson ID is required"
}

Error Response (404 NOT FOUND)

{
  "status": "error",
  "message": "Lesson not found"
}

Notes

  • Каскадне видалення: При видаленні уроку автоматично видаляються:
  • Всі скіпаси, пов'язані з уроком (source_system="lesson")
  • Зв'язки між уроком та клієнтами (Many-to-Many)
  • Сам урок

  • Збереження клієнтів: Клієнти (Customer) не видаляються, оскільки вони можуть бути пов'язані з іншими уроками або бронюваннями

  • Збереження записів про проходи: Записи про проходи через турнікети (EntryValidation) залишаються в базі для історії та звітності

  • Необоротність: Операція видалення необоротна. Перед видаленням переконайтеся, що урок дійсно потрібно видалити

  • Рекомендація: Замість видалення можна змінити статус уроку на cancelled через метод оновлення

Example cURL

curl -X DELETE "https://bukovelvipentry.breport.site/api/v1/lessons/123/" \
  -H "Authorization: Token YOUR_TOKEN"

Alternative: Скасування замість видалення

Якщо потрібно скасувати урок, але зберегти історію, використовуйте оновлення статусу:

curl -X PUT "https://bukovelvipentry.breport.site/api/v1/lessons/123/" \
  -H "Authorization: Token YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "cancelled"
  }'