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"
}'