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
API Details
Endpoints Reference
GET /recordlocator
Resolves a Third Party Record Locator (TPRL) or PNR to the NewSkies record locator.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingId |
string | Yes | The booking ID (TPRL or PNR) |
lastName |
string | Yes | Passenger last name for validation |
Example Request:
curl -X GET "https://test.api.tui/flight/newskies/checkinhandler/recordlocator?bookingId=ABC123&lastName=Smith" \
-H "Authorization: Bearer <token>"
Example Response (200):
{
"recordLocator": "ABC123"
}
Error Responses:
| Code | Description |
|---|---|
| 404 | Booking not found |
| 500 | Internal server error |
GET /checkinavailability
Validates booking credentials and returns check-in/login availability status with product type information. Only shows future (not departed) segments.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingId |
string | Yes | The booking ID (TPRL or PNR) |
lastName |
string | Yes | Passenger last name for validation |
Example Request:
curl -X GET "https://test.api.tui/flight/newskies/checkinhandler/checkinavailability?bookingId=ABC123&lastName=Smith" \
-H "Authorization: Bearer <token>"
Example Response (Harmonised Product):
{
"recordLocator": "ABC123",
"loginStatus": {
"success": true,
"errorMessage": null
},
"checkInStatus": {
"productType": "Harmonised",
"deepLinkUrl": null,
"segments": [
{
"departureStation": "DUS",
"arrivalStation": "PMI",
"departureDateUtc": "2026-08-15T10:30:00Z",
"checkInOpensMinutesBeforeDeparture": 1440,
"checkInClosesMinutesBeforeDeparture": 120,
"checkInAvailable": true,
"errorMessage": null
}
]
}
}
Example Response (Legacy Product with Deep Link):
{
"recordLocator": "ABC123",
"loginStatus": {
"success": true,
"errorMessage": null
},
"checkInStatus": {
"productType": "Legacy",
"deepLinkUrl": "https://www.tui.nl/en/checkin/DeepLink?rl=ABC123&ln=Smith",
"segments": [
{
"departureStation": "AMS",
"arrivalStation": "AGP",
"departureDateUtc": "2026-08-20T08:00:00Z",
"checkInOpensMinutesBeforeDeparture": 1440,
"checkInClosesMinutesBeforeDeparture": 180,
"checkInAvailable": true,
"errorMessage": null
}
]
}
}
Example Response (Wrong Credentials):
{
"recordLocator": null,
"loginStatus": {
"success": false,
"errorMessage": "WrongCredentials"
},
"checkInStatus": {
"productType": null,
"deepLinkUrl": null,
"segments": null
}
}
GET /checkinoverview
Returns a detailed check-in overview for a booking with per-segment availability, document status, and pending check-in information. Only shows future (not departed) segments.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingid |
string | Yes | The booking ID (TPRL or PNR) |
lastname |
string | Yes | Passenger last name for validation |
Example Request:
curl -X GET "https://test.api.tui/flight/newskies/checkinhandler/checkinoverview?bookingid=ABC123&lastname=Smith" \
-H "Authorization: Bearer <token>"
Example Response (200):
{
"recordLocator": "ABC123",
"market": "de",
"loginStatus": {
"success": true,
"errorMessage": null
},
"checkInStatus": {
"productType": "Harmonised",
"deepLinkUrl": null,
"segments": [
{
"departureStation": "DUS",
"arrivalStation": "PMI",
"departureDate": "2026-08-15T10:30:00Z",
"checkInAvailable": true,
"checkInOpensMinutesBeforeDeparture": 1440,
"checkInClosesMinutesBeforeDeparture": 120,
"hasDocumentsAvailable": true,
"hasPendingCheckIn": false,
"routeAllowsDocuments": true
}
]
}
}
Error Responses:
| Code | Description |
|---|---|
| 400 | Missing required parameter (bookingid or lastname) |
| 500 | Internal server error |
Data Models
RecordLocatorResponse
| Field | Type | Description |
|---|---|---|
recordLocator |
string | The NewSkies PNR record locator |
CheckInValidation
| Field | Type | Description |
|---|---|---|
recordLocator |
string | The resolved PNR |
loginStatus |
LoginStatus | Credential validation result |
checkInStatus |
CheckInStatus | Check-in availability and product info |
LoginStatus
| Field | Type | Description |
|---|---|---|
success |
boolean | Whether credentials are valid |
errorMessage |
string | Error reason: WrongCredentials, NoCheckableFlight, or null |
CheckInStatus
| Field | Type | Description |
|---|---|---|
productType |
string | Harmonised, Legacy, or Hybrid |
deepLinkUrl |
string | Deep link URL for legacy products (null for harmonised) |
segments |
array | Per-segment check-in details |
CheckInSegment
| Field | Type | Description |
|---|---|---|
departureStation |
string | IATA departure airport code |
arrivalStation |
string | IATA arrival airport code |
departureDateUtc |
datetime | Departure time in UTC |
checkInOpensMinutesBeforeDeparture |
integer | Minutes before departure when check-in opens |
checkInClosesMinutesBeforeDeparture |
integer | Minutes before departure when check-in closes |
checkInAvailable |
boolean | Whether check-in is currently open |
errorMessage |
string | Error detail if check-in is unavailable |
CheckInOverview
| Field | Type | Description |
|---|---|---|
recordLocator |
string | The resolved PNR |
market |
string | Detected source market |
loginStatus |
LoginStatus | Credential validation result |
checkInStatus |
CheckInOverviewStatus | Detailed check-in overview |
CheckInOverviewSegment
| Field | Type | Description |
|---|---|---|
departureStation |
string | IATA departure airport code |
arrivalStation |
string | IATA arrival airport code |
departureDate |
datetime | Departure time |
checkInAvailable |
boolean | Whether check-in is open |
checkInOpensMinutesBeforeDeparture |
integer | Minutes before departure when check-in opens |
checkInClosesMinutesBeforeDeparture |
integer | Minutes before departure when check-in closes |
hasDocumentsAvailable |
boolean | Whether boarding pass documents are available |
hasPendingCheckIn |
boolean | Whether there is a pending check-in to complete |
