Skip to main content

Booking Management API - Beta

trip management
booking
REST API
Travel Agency
Try Now

Beta Release - Use for test purpose only - Work in progress

This API is for testing purposes only. For the full version, please navigate to the Booking Management API.

What is it?

This API serves as a beta version of the Booking Management API, which lets you manage your Sabre reservations/bookings by providing a normalized set of services that manage both Sabre Passenger Name Records (PNRs) and Sabre Orders. These implementations are simplified to ensure that both experts and novices alike can integrate and adopt Sabre APIs in the most seamless way possible.

In the beta version of this API, you can expect to preview new methods not yet published to the Booking Management API. Currently, Modify Booking is the only method included in the beta phase.

Modify Booking

Modify Booking provides a single, unified service to modify a booking for different content sources (the initial release supports modification of the CSL hotels). This is achieved by executing internal calls to the specific domains (for example, PNRs, hotels) respectively. The modified Sabre Passenger Name Record (PNR) information is then consolidated into a single normalized response by an internal Get Booking call.

Questions?

Contact your Sabre Account Manager for more information on the Booking Management API and how to get started with beta version testing.

Why use it?

With the recent introduction of new content types such as NDC and CSL in the Sabre system, the Booking Management API will call the appropriate API for managing reservations/bookings within the Sabre portfolio.

Modify Booking

  • Simplifies the modification process by removing the need to use individual/granular APIs to modify a reservation
  • Validates the current state of the booking prior to applying any changes to it
  • Allows the execution of multiple operation types (add/modify/delete) in a single call
  • Modifies booking with the CSL hotel content
  • Retrieves a normalized view of the modified booking regardless of the content sources
  • Adds capability to specify a different target city (Pseudo City Code, or PCC) for booking modification
  • Modifies a booking in a stateless way

How it works

Modify Booking

Modify Booking executes the following steps to modify a booking:

  1. Retrieves reservation data by the given confirmationID (PNR locator).
  2. Calls proper downline services to retrieve booking data.
  3. Validates booking status based on the given bookingSignature.
  4. Calls proper downline update services.
  5. Maps the modified booking data to a normalized data model.

Note: Modification prerequisites include Get Booking call to verify the booking status by means of bookingSignature property.

How to use

Modify Booking

Modify booking with CSL hotel content (re-shop not required)

Prerequisite: To modify a booking, first use the Get Booking method to retrieve booking details.

To ensure successful booking modification, the request should contain the following information:

  1. Add confirmationId (PNR Locator) and bookingSignature elements to verify the booking status and prevent the application of any unexpected changes.
  2. Add hotel details under before (original booking details) and after (desired booking details) properties to determine the scope of the changes.
  3. Add the hotel itemId element to indicate the desired item to change.
  4. Ensure traveler data (travelers) is specified in the Modify Booking request and is associated with the hotel booking (travelerIndices, leadTravelerIndex, numberOfGuests) to fulfill requirements regarding lead guest information.
  5. Add paymentPolicy information.

Here's an example of the addition of a special instruction:

{
    "bookingSignature": "189465b006b1d1d9d7894b34ca442244da03422ed465af83a693915a8c84fccb22beea36e697d156311a2bf962ae4f946afffabde85ba03e5908b95cd943ee0e",
    "confirmationId": "QSGXZJ",
    "before": {
        "creationDetails": {
            "agencyIataNumber": "63211116"
        },
        "hotels": [
            {
                "itemId": "26",
                "checkInDate": "2022-05-20",
                "checkOutDate": "2022-05-23",
                "leadTravelerIndex": 1,
                "room": {
                    "travelerIndices": [
                        1
                    ]
                },
                "numberOfGuests": 1,
                "paymentPolicy": "DEPOSIT"
            }
        ],
        "travelers": [
            {
                "givenName": "JOHN",
                "surname": "SMITH",
                "passengerCode": "ADT",
                "emails": [
                    "JOHN@SMITH.FAMILY.PRIV"
                ],
                "phones": [
                    {
                        "number": "+123456"
                    }
                ]
            }
        ],
        "payments": {
            "formsOfPayment": [
                {
                    "type": "PAYMENTCARD",
                    "cardTypeCode": "VI",
                    "cardNumber": "4487971000000006",
                    "expiryDate": "2022-10"
                }
            ]
        }
    },
    "after": {
        "creationDetails": {
            "agencyIataNumber": "63211116"
        },
        "hotels": [
            {
                "itemId": "26",
                "checkInDate": "2022-05-20",
                "checkOutDate": "2022-05-23",
                "leadTravelerIndex": 1,
                "room": {
                    "travelerIndices": [
                        1
                    ]
                },
                "numberOfGuests": 1,
                "specialInstructions": "Seaside view",
                "paymentPolicy": "DEPOSIT"
            }
        ],
        "travelers": [
            {
                "givenName": "JOHN",
                "surname": "SMITH",
                "passengerCode": "ADT",
                "emails": [
                    "JOHN@SMITH.FAMILY.PRIV"
                ],
                "phones": [
                    {
                        "number": "+123456"
                    }
                ]
            }
        ],
        "payments": {
            "formsOfPayment": [
                {
                    "type": "PAYMENTCARD",
                    "cardTypeCode": "VI",
                    "cardNumber": "4487971000000006",
                    "expiryDate": "2022-10"
                }
            ]
        }
    }
}

A successful operation will result in no errors and a normalized view of the reservation will be provided in the API response (if specified in the request). In this case, the new property "specialInstructions": "Seaside view" will be added to the hotel booking.

Modify booking with CSL hotel content (re-shop required)

Prerequisite: To modify a booking, first use the Get Booking method to retrieve booking details.

To ensure successful booking modification, the request should contain the following information:

  1. Add confirmationId (PNR Locator) and bookingSignature elements to verify the booking status and to prevent the application of any unexpected changes.
  2. Add hotel details under the before (original booking details) and after (desired booking details) properties to determine the scope of the changes.
  3. Add the hotel itemId element to indicate the desired item to change.
  4. Ensure that traveler data (travelers) is specified in the Modify Booking request and is associated with the hotel booking (travelerIndices, leadTravelerIndex, numberOfGuests) to fulfill requirements regarding lead guest information.
  5. Add paymentPolicy information.
  6. Add a valid bookingKey property for any change that requires a re-shop step.

Here's an example of a modification of the check-out date, outside of the original date range:

{
    "bookingSignature": "cb80557edb226827c227552c5422917194b66dec245c2042be72194df14596ea09db91e17a0e7e785dbc04a659dc75638381dd12193c76315648c121898ecbc8",
    "confirmationId": "IKMXZJ",
    "before": {
        "creationDetails": {
            "agencyIataNumber": "63211116"
        },
        "hotels": [
            {
                "itemId": "28",
                "checkInDate": "2022-05-20",
                "checkOutDate": "2022-05-23",
                "leadTravelerIndex": 1,
                "room": {
                    "travelerIndices": [
                        1
                    ]
                },
                "numberOfGuests": 1,
                "paymentPolicy": "GUARANTEE"
            }
        ],
        "travelers": [
            {
                "givenName": "JOHN",
                "surname": "SMITH",
                "passengerCode": "ADT",
                "emails": [
                    "JOHN@SMITH.FAMILY.PRIV"
                ],
                "phones": [
                    {
                        "number": "+123456"
                    }
                ]
            }
        ],
        "payments": {
            "formsOfPayment": [
                {
                    "type": "PAYMENTCARD",
                    "cardTypeCode": "VI",
                    "cardNumber": "4487971000000006",
                    "expiryDate": "2022-10"
                }
            ]
        }
    },
    "after": {
        "creationDetails": {
            "agencyIataNumber": "63211116"
        },
        "hotels": [
            {
                "itemId": "28",
                "bookingKey": "ebce2667-fb06-488c-bb57-91eac3b0fadb",
                "checkInDate": "2022-05-20",
                "checkOutDate": "2022-05-25",
                "leadTravelerIndex": 1,
                "room": {
                    "travelerIndices": [
                        1
                    ]
                },
                "numberOfGuests": 1,
                "paymentPolicy": "GUARANTEE"
            }
        ],
        "travelers": [
            {
                "givenName": "JOHN",
                "surname": "SMITH",
                "passengerCode": "ADT",
                "emails": [
                    "JOHN@SMITH.FAMILY.PRIV"
                ],
                "phones": [
                    {
                        "number": "+123456"
                    }
                ]
            }
        ],
        "payments": {
            "formsOfPayment": [
                {
                    "type": "PAYMENTCARD",
                    "cardTypeCode": "VI",
                    "cardNumber": "4487971000000006",
                    "expiryDate": "2022-10"
                }
            ]
        }
    }
}

A successful operation will result in no errors and a normalized view of the reservation will be provided in the API response (if specified in the request). In this case, the modified value of checkOutDate": "2022-05-25 will be updated in the hotel booking.