Skip to content

Bookings API

POST /v1/events/:id/book

Забронювати місця на подію.

Авторизація: Bearer <accessToken>

Тіло запиту

json
{
  "qty": 2
}
ПолеТипОпис
qtynumberКількість місць (мін 1)

Відповідь 201

json
{
  "id": "booking-uuid",
  "eventId": "event-uuid",
  "userId": "user-uuid",
  "qty": 2,
  "status": "confirmed",
  "qrToken": "signed-qr-token-string",
  "createdAt": "2024-07-01T10:00:00Z"
}

TIP

qrToken — підписаний HMAC-токен для QR-коду на чекін. Показуйте його як QR на сторінці бронювання.

Помилки

КодПричина
400qty < 1 або перевищує доступну кількість
409Бронювання вже існує для цього користувача
403Приватна подія — користувач не запрошений

GET /v1/me/bookings

Список бронювань поточного користувача.

Авторизація: Bearer <accessToken>

Query параметри

ПараметрТипОпис
statusstringconfirmed / cancelled / pending
upcomingbooleanТільки майбутні події

Відповідь 200

json
{
  "data": [
    {
      "id": "booking-uuid",
      "event": {
        "id": "event-uuid",
        "title": "Jazz у парку",
        "startAt": "2024-07-20T18:00:00Z",
        "coverUrl": "https://cdn.pisd.uk/covers/uuid.jpg"
      },
      "qty": 2,
      "status": "confirmed",
      "qrToken": "signed-qr-token-string",
      "createdAt": "2024-07-01T10:00:00Z"
    }
  ]
}

DELETE /v1/bookings/:id

Скасувати бронювання.

Авторизація: Bearer <accessToken> (власник бронювання або admin)

Відповідь 200

json
{
  "id": "booking-uuid",
  "status": "cancelled"
}

Помилки

КодПричина
403Не є власником бронювання
404Бронювання не знайдено
409Подія вже відбулась — скасування недоступне

GET /v1/events/:id/bookings

Список бронювань події (для організатора або адміна).

Авторизація: Bearer <accessToken> (organizer або admin)

Query параметри

ПараметрТипОпис
statusstringФільтр за статусом
qstringПошук за ім'ям гостя

Відповідь 200

json
{
  "data": [
    {
      "id": "booking-uuid",
      "user": {
        "id": "user-uuid",
        "name": "Іван Петров",
        "avatar": "https://cdn.pisd.uk/avatars/uuid.jpg",
        "phone": "+38099***4567"
      },
      "qty": 2,
      "status": "confirmed",
      "checkedIn": false,
      "createdAt": "2024-07-01T10:00:00Z"
    }
  ],
  "meta": { "total": 30 }
}

TIP

Номер телефону маскується — організатор бачить лише останні 4 цифри.

Peaced — платформа подій