Online Check-in (OCI)
Magic-link flow для self check-in mobile / website пассажирами.
Когда доступно
Online check-in открыт за 24 часа до вылета и закрывается за
40 минут (значения настраиваются авиакомпанией:
checkin.online_open_hours / checkin.online_close_minutes). Регистрация
на стойке имеет отдельное окно (checkin.counter_*, по умолчанию
3 ч / 40 мин). Вне окна возвращается 400 с текстом «Регистрация
откроется … / закрыта с …».
Как пассажир получает доступ
Вариант A: автоматическое email-уведомление
После создания и подтверждения брони NurCore автоматически отправляет пассажиру email со ссылкой:
https://airline-domain/booking/view?bid=<uuid>&access_token=<token>Вы как mobile-app или website получаете тот же access_token если
предоставите свой redirect_url при создании брони.
Вариант B: Find my trip
Если пассажир потерял email:
curl "https://api.nurcore.kg/api/v1/bookings/lookup-consumer?pnr=ABC123&email=user@example.com"API отправит свежий magic-link на указанный email. Response generic (не подтверждает существование) — защита от brute-force.
OCI flow
Шаг 1. Карта салона
curl "https://api.nurcore.kg/api/v1/checkin/flight/$FLIGHT_ID/seat-map?access_token=$TOK&booking_id=$BOOK_ID"Возвращает реальную конфигурацию ВС с указанием занятых мест и дополнительных сборов за выбор premium-зон.
Шаг 2. Создать checkin
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"booking_id": "'$BOOK_ID'",
"passenger_id": "'$PAX_ID'",
"flight_id": "'$FLIGHT_ID'",
"seat_number": "12A"
}' \
"https://api.nurcore.kg/api/v1/checkin/consumer?access_token=$TOK"Ответ содержит id (checkin_id), статус in_progress.
Шаг 3. Выбрать место (опционально)
curl -X POST -H "Content-Type: application/json" -d '{"seat_number":"12A"}' \
"https://api.nurcore.kg/api/v1/checkin/$CHECKIN_ID/seat?access_token=$TOK"Шаг 4. DG-декларация (IATA DGR 2.3, обязательно)
curl -X POST -H "Content-Type: application/json" -d '{"confirmed":true}' \
"https://api.nurcore.kg/api/v1/checkin/$CHECKIN_ID/dg-declare?access_token=$TOK"Шаг 5. Завершить регистрацию
curl -X POST "https://api.nurcore.kg/api/v1/checkin/$CHECKIN_ID/complete?access_token=$TOK"Статус → completed.
Шаг 6. Выпустить и скачать boarding pass
curl -X POST "https://api.nurcore.kg/api/v1/checkin/$CHECKIN_ID/boarding-pass?access_token=$TOK"
curl -O "https://api.nurcore.kg/api/v1/checkin/$CHECKIN_ID/boarding-pass/pdf?access_token=$TOK&format=thermal"PDF содержит BCBP-штрихкод для сканера на гейте.
Round-trip: повторите шаги 2–6 для каждого плеча — в
POST /consumerпередавайтеflight_idобратного рейса (он жеreturn_flight_idброни).
BCBP штрихкод
Boarding pass соответствует стандарту IATA Resolution 792 M1:
M1DOE/JOHN ABC123 BSZOSSKGZ00123113Y012A00045BФормат позволяет сканеру на гейте мгновенно подтвердить посадку.
Cancel вместо OCI
Если планы изменились до OCI:
curl -X POST "https://api.nurcore.kg/api/v1/bookings/$BOOK_ID/cancel-consumer?access_token=$TOK"PENDING → cancel free; CONFIRMED → CANCELLED + refund по тарифной политике (5-7 рабочих дней).