Skip to main content

Travel Assist API

air
air
REST API
Airline Carrier
Try Now

What is it?

The Travel Assist API allows 3rd parties and travelers to share travel relevant documents. The initial scope of it includes COVID-19 related services. Currently, this API contains:

  • retrieveBooking
  • updateStatus

RetrieveBooking

This method provides a simple view of a reservation. This is achieved by executing calls to PNR via the OrrRetrieve service. Information about it is then retrieved, about the passenger's name and itinerary.

UpdateStatus

This API marks the PNR with the Fit to Flight or the OK to Travel flag. This is achieved by adding an ADOC SSR.

Why use it?

Services that are part of the Travel Assist project should be used to update the PNR with the ok to travelornot ok to travel status:

Services that are part of the Travel Assist project allow 3rd parties and travelers to share travel relevant documents. Currently, this API contains:

  • retrieveBooking
  • updateStatus

Retrieve Booking

  • This service is used to retrieve the simple view of a reservation.

Update Booking

  • This service is used to update the PNR with the Fit to Flight or the OK to Travel flags. This is achieved by adding an ADOC SSR to the reservation.

How it works

Retrieve Booking

Retrieve Booking executes the following steps to display a booking:

  1. Retrieves itinerary and traveler data by the given mandatory fields bookingAirlineCode, bookingId, surname and/or non-mandatory fields givenName, dateOfBirth.
  2. Calls proper downline services to retrieve additional data.
  3. Maps retrieved data to a normalized data model.

Update Booking

Update Booking executes the following steps to update the booking with the ADOC SSR:

  1. Updates the PNR with the ADOC SSR (ADOC SSR is added to the PNR associated with the passenger and with the segment) by the given mandatory fields retrieved with the help of Retrieve Booking bookingAirlineCode, bookingId, segmentId, personId, segmentIds, travelerId, okToTravel and/or non-mandatory field surname.
  2. Calls proper downline services to update the PNR with ADOC SSR if this works with the traveler.
  3. Calls proper downline services to check if there is already ADOC SSR assigned and if so remove it if Ok to traveler.

How to use

Retrieve Booking

To ensure a successful retrieve booking, the request should contain the below information:

{
    "bookingAirlineCode": "XX",
    "bookingId": "XXXXXX",
    "surname": "XXXXXXXXXX"
}

If the retrieve booking request was successful, the below data should show up:

{
    "bookingAirlineCode": "XX",
    "bookingId": "XXXXXX",
    "bookingCreateDate": "2021-06-08",
    "isTravelersListFiltered": false,
    "totalTravelerCountInBooking": 2,
    "travelers": [
        {
            "travelerId": "bdcf02cb8ec8b8a2ecef20aa3d760c1be46c0a2908da5d963084fa7f4200472ff5500e5a0ab847cb73627e6d174caa12c71701072a29218eab722ed79435751c",
            "surname": "XXXXXXXXXX"
        },
        {
            "travelerId": "99264f2d6f8d13002dd3b7bd3147aec303eb9db6d0a6cedfec0057692bd9857d4ef27dc770073504d1eb2916acf71f3d499ce3ce05479eed19d83ebf787eb776",
            "surname": "XXXXXXXXXX"
        }
    ],
    "segments": [
        {
            "segmentId": "edb8524d8d1adb5812051524cd8d67f708669d5b5f6fa5057bde1a61d42df17ed440c7a865dff6162b6290ed7e161bb221a734648cd28b9dad81a4492d7db964",
            "operatingAirlineCode": "XX",
            "operatingFlightNumber": "934",
            "marketingAirlineCode": "XX",
            "marketingFlightNumber": "934",
            "departureAirportCode": "XXX",
            "departureDate": "2021-06-09",
            "departureTime": "10:45",
            "arrivalAirportCode": "XXX",
            "arrivalTerminal": "TERMINAL 2",
            "arrivalDate": "2021-06-10",
            "arrivalTime": "20:00"
        },
        {
            "segmentId": "3c1d847c03c4c2c62a8f889e53a5c7520923baa13bd3fd94534c8b687ee608de3439d2dc6ec1f766ef1dcafdaf6c280811918409b411c757116a643c276b2c17",
            "operatingAirlineCode": "XX",
            "operatingFlightNumber": "937",
            "marketingAirlineCode": "XX",
            "marketingFlightNumber": "937",
            "departureAirportCode": "XXX",
            "departureTerminal": "TERMINAL 2",
            "departureDate": "2021-06-10",
            "departureTime": "10:30",
            "arrivalAirportCode": "XXX",
            "arrivalDate": "2021-06-10",
            "arrivalTime": "14:10"
        }
    ]
}

It is possible to extend the retrieve booking request with additional non-mandatory fields to have a more precise result:

{
    "bookingAirlineCode": "XX",
    "bookingId": "XXXXXX",
    "surname": "XXXXXXXXXX",
    "givenName": "XXXXXXXXXX",
    "dateOfBirth": "2010-01-01"
}

If the retrieve booking request (with the non-mandatory fields in use) was successful, the below data should show up:

{
    "bookingAirlineCode": "XX",
    "bookingId": "XXXXXX",
    "bookingCreateDate": "2021-06-10",
    "isTravelersListFiltered": true,
    "totalTravelerCountInBooking": 2,
    "travelers": [
        {
            "travelerId": "07e1d66b2c8168a6905cd9329a69b133b18bd0f9f258c05aa32cf4f9a2ac4cff4e830afc597ee4d62a041c52e864efbe163454691a596b858175295b6a71e261",
            "givenName": "XXXXXXXXXX",
            "surname": "XXXXXXXXXX"
        }
    ],
    "segments": [
        {
            "segmentId": "df1c50c149222ce98f212b4d8b8e7ec718736eb25445d3667d54408ec24fc01113c5ea45f1445ed29869563883984e1c03d7aea9f44046104dfd3caecd34a6ac",
            "operatingAirlineCode": "XX",
            "operatingFlightNumber": "909",
            "marketingAirlineCode": "XX",
            "marketingFlightNumber": "909",
            "departureAirportCode": "XXX",
            "departureTerminal": "TERMINAL 2",
            "departureDate": "2021-09-11",
            "departureTime": "10:40",
            "arrivalAirportCode": "XXX",
            "arrivalDate": "2021-09-11",
            "arrivalTime": "17:40"
        },
        {
            "segmentId": "104bf7a7a6d124c9cf11eab21fc959e018548a09c0f1bde49322fe82109bfcee2f29b115a46c3385036b8bd0f83b6a64c66e850db9ae217403018d28a09598b3",
            "operatingAirlineCode": "XX",
            "operatingFlightNumber": "55",
            "marketingAirlineCode": "XX",
            "marketingFlightNumber": "1039",
            "departureAirportCode": "XXX",
            "departureDate": "2021-09-12",
            "departureTime": "08:05",
            "arrivalAirportCode": "XXX",
            "arrivalDate": "2021-09-12",
            "arrivalTime": "11:30"
        }
    ]
}

If the data from the request does not match the data in the sabre system, the below error is expected:

{
    "timestamp": "2021-06-10T11:25:50.065Z",
    "status": 404,
    "errors": [
        {
            "category": "NOT_FOUND",
            "type": "NO_MATCH_FOUND",
            "description": "No match found for the data provided".
        }
    ]
}

Update Booking

To ensure a successful update of the PNR with the ADOC SSR, the request should contain the below information (all the data to Update Booking service should be taken from the Retrieve Booking service result):

{
    "bookingAirlineCode": "XX",
    "bookingId": "XXXXXX", 
    "segmentIds": "abb6aeaf7c8a21fb0695955c155a98d9bcb48db5c064b9e63fbce7263f02d463bec4d920276662d663b11a58d2d31d281d525a56f58d854e23af7e9aeac900c7",
    "travelerId": "0c89fd8cd03123f533b8280fffdf6102925c8ee3a9e60b879db20e44aa1d102c61f9118836ca54d416415a22e9e922c49f1cca142fc1a97a90bb125800c453be",
    "surname": "XXXXXXXXXX",
    "isOkToTravel": "OK_TO_TRAVEL"
}
 {
        "traveler": [
            {
                "travelerId": "aeaf3776b585568b1676aae3e25209c3399fcf22e2e480a3e53e9b11bd61013d14a1fb0cdbac19b149a63d4993ef612c98de64bc12780ab290d1d2aa29e276fb"
                "givenName": "XXXXXXXXXX"
                "surname": "XXXXXXXXXX"
            },
            ]
        "segments": [
        {
            "segmentId": "abb6aeaf7c8a21fb0695955c155a98d9bcb48db5c064b9e63fbce7263f02d463bec4d920276662d663b11a58d2d31d281d525a56f58d854e23af7e9aeac900c7",
            "operatingAirlineCode": "XX",
            "marketingAirlineCode": "XX",
            "departureAirportCode": "XXX",
            "departureTerminal": "TERMINAL 3",
            "departureDate": "2021-06-01",
            "departureTime": "02:25",
            "arrivalAirportCode": "XXX",
            "arrivalDate": "2021-06-01",
            "arrivalTime": "07:15"
        }
    ]

}