Карта мест#
Операции для получения карты мест воздушного судна и бронирования конкретных мест для пассажиров.
Доступные операции#
Карта мест (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]- Выполните поиск через
/api/avia/searchи получитеsearchId/offerItemId - Запросите карту мест через
/api/avia/seat_map, передав контекстoffer - Передайте выбранные места в поле
seatsзапроса Создание PNR - Проверьте результат через Получение PNR (
pnr.seats[])
Вариант Б — выбор мест после бронирования#
graph LR
A[PNR Create] --> B[Seat Map по booking]
B --> C[Seat Book]
C --> D[PNR Retrieve]- Создайте бронирование через Создание PNR и получите
bookingId - Запросите карту мест через
/api/avia/seat_map, передав контекстbooking - Забронируйте выбранные места через
/api/avia/seat_book - Проверьте статусы мест через Получение PNR (
pnr.seats[].status)
Оба сценария используют одну и ту же карту мест: результат seat_map кэшируется и используется seat_book для определения цены места.