Карта мест#

Операции для получения карты мест воздушного судна и бронирования конкретных мест для пассажиров.

Доступные операции#

Карта мест (Seat Map)#

Эндпоинт: POST /api/avia/seat_map

Получение схемы салона рейса: раскладка рядов и мест, статус каждого места (свободно/занято) и, если место платное, — цена по типам пассажиров. Работает как до создания бронирования (по данным предложения из поиска), так и после (по bookingId существующего PNR).

Когда использовать:

  • Показ схемы салона перед выбором мест
  • Получение цен на платные места перед бронированием
  • Актуализация статусов мест в уже существующем PNR

Бронирование мест (Seat Book)#

Эндпоинт: POST /api/avia/seat_book

Бронирование выбранных мест в уже существующем PNR. Цена не передается в запросе — она разрешается сервером из результата предшествующего вызова seat_map.

Когда использовать:

  • Выбор или смена места после создания бронирования
  • Догрузка мест, если они не были указаны в поле seats при pnr_create

Типичный сценарий#

Выбрать и получить места пассажиров можно одним из двух способов.

Вариант А — выбор мест до бронирования#

graph LR
    A[Search] --> B[Seat Map по offer]
    B --> C["PNR Create (поле seats)"]
    C --> D[PNR Retrieve]
  1. Выполните поиск через /api/avia/search и получите searchId/offerItemId
  2. Запросите карту мест через /api/avia/seat_map, передав контекст offer
  3. Передайте выбранные места в поле seats запроса Создание PNR
  4. Проверьте результат через Получение PNR (pnr.seats[])

Вариант Б — выбор мест после бронирования#

graph LR
    A[PNR Create] --> B[Seat Map по booking]
    B --> C[Seat Book]
    C --> D[PNR Retrieve]
  1. Создайте бронирование через Создание PNR и получите bookingId
  2. Запросите карту мест через /api/avia/seat_map, передав контекст booking
  3. Забронируйте выбранные места через /api/avia/seat_book
  4. Проверьте статусы мест через Получение PNR (pnr.seats[].status)

Оба сценария используют одну и ту же карту мест: результат seat_map кэшируется и используется seat_book для определения цены места.