Last updated:
24-Aug-2026
Recent changes:
Merge branch 'feature/NSK-76937' into 'main'
move to public
Closes NSK-76937
See merge request api-program/apigee/flight/newskies-apis/flight-checkinhandler!22
Technical Integration
Authentication Setup
OAuth 2.0 Configuration
The CheckInHandler API requires OAuth 2.0 Bearer token authentication. Contact the API product approvers to obtain credentials:
- javier.temprano.fernandez@tui.be
- emre.oegretmen@tui.com
- gema.jimenezruiz@tui.nl
Step-by-Step
- Request API access — Apply for access via the developer portal
- Receive credentials — You will receive a
client_idandclient_secret - Obtain token — Exchange credentials for an access token using client credentials flow
- Include token — Add the token in the
Authorization: Bearer <token>header on every request
Integration Guide
1. Verify Connectivity
Test your credentials with the record locator endpoint:
curl -X GET "https://test.api.tui/flight/newskies/checkinhandler/recordlocator?bookingId=TEST01&lastName=Testpassenger" \
-H "Authorization: Bearer <token>"
2. Check-in Flow
Typical integration flow:
- Resolve record locator —
GET /recordlocatorto get the PNR from a TPRL - Check availability —
GET /checkinavailabilityto validate credentials and determine product type - Route the passenger:
- If
productType == "Harmonised"→ proceed with your in-app check-in flow - If
productType == "Legacy"→ redirect todeepLinkUrl - If
productType == "Hybrid"→ show legacy deep link for legacy segments, in-app for harmonised
- If
3. Overview Endpoint (Extended)
For richer UI experiences, use GET /checkinoverview which provides:
- Per-segment check-in windows
- Document availability status (can boarding passes be generated?)
- Pending check-in status (has the passenger started but not completed?)
- Route document eligibility
Best Practices
Booking ID Format
The bookingId parameter accepts both:
- TPRL (Third Party Record Locator) — typically from external booking systems
- PNR (Passenger Name Record) — the 6-character NewSkies record locator
The service resolves TPRLs to PNRs internally.
Last Name Matching
The lastName parameter is case-insensitive but must match the booking exactly. For compound last names, include the full name as registered.
Time Windows
Check-in availability is determined by configurable per-carrier time windows:
checkInOpensMinutesBeforeDeparture— typically 1440 (24 hours)checkInClosesMinutesBeforeDeparture— typically 120-180 minutes
Only future segments (not yet departed) are returned.
Error Handling
| Login Error | Meaning | Action |
|---|---|---|
WrongCredentials |
Booking ID + last name don't match | Prompt user to re-enter |
NoCheckableFlight |
No eligible future flights | Inform user no check-in available |
Environment Configuration
| Environment | Base URL | Backend Host |
|---|---|---|
| Development | https://dev.api.tui/flight/newskies/checkinhandler |
checkinhandler.dev.flight.aws.tuicloud.net |
| Test (SIT) | https://test.api.tui/flight/newskies/checkinhandler |
checkinhandler.test.flight.aws.tuicloud.net |
| Pre-Production | https://preprod.api.tui/flight/newskies/checkinhandler |
checkinhandler.preprod.flight.aws.tuicloud.net |
| Production | https://prod.api.tui/flight/newskies/checkinhandler |
checkinhandler.prod.flight.aws.tuicloud.net |
HTTP Headers
Request Headers
| Header | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer <access_token> |
x-correlation-id |
No | Unique correlation ID for distributed tracing |
Accept |
No | application/json (default) |
Response Headers
| Header | Description |
|---|---|
x-correlation-id |
Echoed back correlation ID |
Content-Type |
application/json |
Troubleshooting
401 Unauthorized
- Verify your OAuth token is valid and not expired
- Ensure your client_id has been approved for the flight-checkinhandler API product
404 Booking Not Found
- Verify the booking ID exists in the system
- Ensure the last name matches the booking
500 Internal Server Error
- The backend service may have encountered an issue connecting to NewSkies middleware
- Retry with exponential backoff (max 3 retries)
- If persistent, contact the Skywalker team
Empty Segments
- Only future segments are returned
- If all flights have departed, the segments array will be empty
