Booking Guide for Failed/Shell Bookings
This guide details the functionality supported for shell bookings, which is a reservation that does not have any air segments booked and contains only traveler details.
Related Content: Booking Guide, Reservation Retrieve Guide, Reservation Retrieve API Reference
In this topic:
- Basic Concepts
- Creating a Reservation Shell in case of Booking Failure
- Ticketing a Reservation Shell
- Adding or Deleting Remarks
- Updating Traveler Details
- Example Response
Basic Concepts
In the case of bookings that fail due to inability to either add the offer or quote a fare, if the autoDeleteDate query parameter is sent at commit, AirReservation can create a reservation shell that contains traveler details. This allows an agency to contact the customer offline through their call center and complete the booking as necessary, or to retrieve the reservation and complete the booking later with the usual JSON API booking workflow.
AirReservation 23.11.29 added several additional features per below.
Creating a Reservation Shell in case of Booking Failure
In the initial booking workflow, to ensure that AirReservation retains traveler details if the booking fails either because the offer cannot be added or the fare cannot be quoted, send the autoDeleteDate query parameter with any value at the workbench commit to create a reservation shell.
Ticketing a Shell Reservation
You can ticket a failed booking with a reservation shell using the following workflow:
-
Create Post-Commit Workbench request sending the locator code for the failed booking.
-
Add Offer request.
-
Add Traveler request if necessary to complete traveler details.
-
Add Form of Payment request.
-
Add Payment request.
-
Commit Workbench request.
Optional steps such as seats, ancillaries, or remarks are also supported in the workflow above after adding the offer and traveler/s.
Adding or Deleting Remarks
You can add and delete the following types of remarks to a shell booking. These remarks are returned in the Reservation Retrieve response:
-
Vendor remarks
-
DOCI remarks
-
Itinerary (associated and unassociated) remarks
-
Notepad remarks
-
Historical Notepad remarks
-
Accounting remarks
-
OSI remarks
To add and delete remarks, use the applicable workflow in the Comments and Service Requests Guide.
Updating Traveler Details
You can add, update, and delete any traveler details supported in the TravelerUpdateableItems request. See the Traveler Modify Guide.
Examples
The following example reservation retrieve response returns a reservation shell for a failed booking. Note that no offer details are returned, and the Result object returns the warning NO FARES FOUND.
{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Identifier": {
"authority": "Travelport",
"value": "4459c564-a913-448b-b332-1376bd17d6f9"
},
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1999-02-22",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "travelerRefId_1",
"Identifier": {
"authority": "Travelport",
"value": "d168b2e9-25c6-44f9-8e15-8fc5c2ce5637"
},
"PersonName": {
"@type": "PersonName",
"Given": "PX ADTONEMDNM MR",
"Surname": "SRNMONE ADT"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"areaCityCode": "909",
"phoneNumber": "212456121",
"extension": "1243",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Office"
}
],
"Email": [
{
"value": "TravelerOneOne@gmail.com"
},
{
"value": "TravelerTwoOne@gmail.com"
}
],
"CustomerLoyalty": [
{
"supplier": "DL",
"value": "DL2071983684"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "245968",
"docType": "Passport",
"expireDate": "2027-02-22",
"issueCountry": "IND",
"birthDate": "1999-02-22",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "PX ONE",
"Middle": "MDNMONE",
"Surname": "SRNMONE"
}
}
]
},
{
"@type": "Traveler",
"birthDate": "1999-02-22",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "travelerRefId_2",
"Identifier": {
"authority": "Travelport",
"value": "ecefbfa9-f05e-4c6e-bb79-bc3c85cd4e6f"
},
"PersonName": {
"@type": "PersonName",
"Given": "PX ADTTWOMDNM MR",
"Surname": "SRNMTWO ADT"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"areaCityCode": "909",
"phoneNumber": "212456122",
"extension": "1243",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Office"
}
],
"CustomerLoyalty": [
{
"supplier": "DL",
"value": "DL2071983684"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "245968",
"docType": "Passport",
"expireDate": "2027-02-22",
"issueCountry": "IND",
"birthDate": "1999-02-22",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "PX TWO",
"Middle": "MDNMTWO",
"Surname": "SRNMTWO"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "d7899efc-866b-44c5-9b78-9ca9668f32f2"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"value": "2CB56Z"
}
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"commentSource": "Agency",
"Comment": [
{
"name": "AD",
"value": "THANKS FOR BOOKING WITH US"
},
{
"name": "RD",
"value": "Have a Nice Day"
}
]
}
],
"PrimaryContact": [
{
"@type": "PrimaryContact",
"id": "primaryContact_1",
"Email": {
"value": "TEST@TRAVELPORT.COM"
},
"TravelerIdentifier": {
"Identifier": {
"authority": "Travelport",
"value": "d168b2e9-25c6-44f9-8e15-8fc5c2ce5637"
}
}
},
{
"@type": "PrimaryContact",
"id": "primaryContact_2",
"Telephone": {
"@type": "Telephone",
"phoneNumber": "5551212",
"role": "Mobile"
},
"TravelerIdentifier": {
"Identifier": {
"authority": "Travelport",
"value": "d168b2e9-25c6-44f9-8e15-8fc5c2ce5637"
}
}
},
{
"@type": "PrimaryContact",
"id": "primaryContact_3",
"Email": {
"value": "TEST@TRAVELPORT.COM"
},
"TravelerIdentifier": {
"Identifier": {
"authority": "Travelport",
"value": "ecefbfa9-f05e-4c6e-bb79-bc3c85cd4e6f"
}
}
},
{
"@type": "PrimaryContact",
"id": "primaryContact_4",
"Telephone": {
"@type": "Telephone",
"phoneNumber": "5551212",
"role": "Mobile"
},
"TravelerIdentifier": {
"Identifier": {
"authority": "Travelport",
"value": "ecefbfa9-f05e-4c6e-bb79-bc3c85cd4e6f"
}
}
}
]
},
"Result": {
"@type": "Result",
"Warning": [
{
"@type": "Warning",
"Message": "NO FARES FOUND"
}
]
}
}
}