Post Ticket Ancillary

This guide will help you understand the workflow for getting ancillaries after you have placed your order. Ancillary services refer to all the “extras” that travellers may require, such as extra seats, travel insurance, foreign exchange, and many more. These services make the entire travel experience comfortable, secure, and enjoyable. The post-ticket ancillary uses the following endpoints:

  1. AirPostBookingSeatMap
  2. AirPostBookingAncillary
  3. CardManagement/Storecard
  4. AirOrderChange

What do you need to start?

To get started with post ticket ancillary, you will require various payload data to process other requests. We suggest you to collect relevant information from the responses to complete the Ticket workflow.

Step 1. Air Post Booking Seat Map

This endpoint can be used to fetch the information about the seats including the seat map. It will allow you to adjust seat preferences and add more seats. The Order ID and GDS Booking Reference are all required to complete the process.

Core Query

The following query with request payload is required for processing this endpoint.

curl --location --request POST 'http://newapi.tltid.com/AirPostBookingSeatMap' \
--header 'Content-Type: application/json' \
--header 'Authorization: <$auth_token>' \
--data-raw '{
    "AirSeatMapRQ": {
        "Query": {
            "OrderID": "35WSXX2A",
            "GdsBookingReference": ["WHFXYZ"]
        }
    }
}'

As a result of this request, you will get a Shopping Response ID and a Seat Response ID.

Note: Visit AirPostBookingSeatMap to get information about all the parameters used in this query.

Step 2. Air Post Booking Ancillary

You can use this endpoint to add additional services against your ticket like travel insurance, extra baggage, and many more. The Order ID and GDS Booking Reference are all required to complete the process.

curl --location --request POST 'http://newapi.tltid.com/AirPostBookingAncillary' \
--header 'Content-Type: application/json' \
--header 'Authorization: <$auth_token>' \
--data-raw '{
    "AirServiceListRQ": {
        "Query": {
            "OrderID": "35WSXX2A",
            "GdsBookingReference": ["WHFXYZ"]
        }
    }
}'

As a result of this request, you will get a Shopping Response ID and a Service List Response ID.

Note: Visit AirPostBookingAncillary to get information about all the parameters used in this query.

Step 3. Adding Payment Details

You need to provide your Booking request ID and Form ID. You must also give your payment information based on your payment method. Further the user must provide the payment details. All the details are collected using StoreCard. Visit storeCard to know more about adding payment details and the relevant parameters.

Note: Booking request ID and Form ID are randomly generated alphanumeric values.

At the time of finalizing the air-shopping, the user must provide the payment details. The user will have the option to do the air-shopping with the payment or without the payment.

curl --location --request POST 'https://uat-pdssapi.tltid.com/api/cardManagement/storeCard' \
--header 'Content-Type: application/json' \
--header 'portal-origin: localhost' \
--header 'Authorization: <$auth_token>' \
--data-raw '{
   "booking_req_id": "222427D",               #random alphanumeric value
   "form_id": "23245DD536",                   #random alphanumeric value
   "card_number": "NDExMTExMTExMTExMTExMQ==", #(base64 encoded)
   "cvv_code": "MjM0",                        #(base64 encoded)
   "expire_month": "MTI=",                    #(base64 encoded)
   "expire_year": "MjAyNQ==",                 #(base64 encoded)
   "card_type": "MA",                         #(MA-master card,AX-american express,VI-visa card,DC-daniel club)
   "card_holder_name": "Karthick Test Card",
   "card_code": "CC",                         #(CC - credit card,DC- debit card)
   "payment_method": "pay_by_card"   
}'

While passing the StoreCard request, the raw data must have all the payment related details.

All these details are stored in a separate database and a token is generated. This token number gets associated with the PassengerID and the BookingID for future references.

Step 4. Changing the Order

Once you have completed all the above-mentioned steps, it is time to update your order. This endpoint will help you change or upgrade your order. The Shopping Response Id, Service List Response Id, Seat Response Id, Order ID and GDS Booking Reference Number are all required to change your order.

curl --location --request POST 'http://newapi.tltid.com//AirOrderChange' \
--header 'Content-Type: application/json' \
--header 'Authorization: <$auth_token>' \
--data-raw '{
    "OrderChangeRQ": {
        "ShoppingResponseId": "1626214689029777444",
        "ServiceListResponseId": "1626237816053107208",
        "SeatResponseId": "1626237764234542001",
        "Query": {
            "OrderID": "35WSXX2A",
            "GdsBookingReference": ["WHFXYZ"],
            "OrderServicing": {
                "AcceptOffer": {
                    "ServiceList": [
                        {
                            "OptinalServiceId": "1626237817318256162",
                            "PassengerID": "ADT1"
                        }  
                    ],
                    "Seat": [
                        {
                            "SeatId": "1626237766234456324",
                            "PassengerID": "ADT1"
                        }
                    ]
                }
            }
        },
        "Payments": {
            "Payment": [
                {
                    "Type": "CARD",
                    "PassengerID": "ADT1",
                    "Amount": 218.42,
                    "Method": {
                        "PaymentCard": {
                            "CardType": "CC",
                            "CardCode": "VI",
                            "CardNumber": "card_number_a2c4564e51fd6c526a67db29422fbf688abb8c711149de58cd92379d48339f7e",
                            "SeriesCode": "cvv_a2c4564e51fd6c526a67db29422fbf688abb8c711149de58cd92379d48339f7e",
                            "CardHolderName": "card_holder_name_a2c4564e51fd6c526a67db29422fbf688abb8c711149de58cd92379d48339f7e",
                            "EffectiveExpireDate": {
                                "Effective": "",
                                "Expiration": "exp_year_a2c4564e51fd6c526a67db29422fbf688abb8c711149de58cd92379d48339f7e-exp_month_a2c4564e51fd6c526a67db29422fbf688abb8c711149de58cd92379d48339f7e"
                            }
                        }
                    },
                    "Payer": {
                        "ContactInfoRefs": "CTC1"
                    }
                }
            ]
        },
        "DataLists": {
            "PassengerList": {
                "Passenger": [
                    {
                        "attributes": {
                            "PassengerID": "ADT1"
                        },
                        "PassengerID": "ADT1",
                        "PTC": "ADT",
                        "BirthDate": "2000-07-21",
                        "NameTitle": "Mr",
                        "FirstName": "downey",
                        "MiddleName": "",
                        "LastName": "Robert",
                        "Preference": {
                            "WheelChairPreference": {
                                "Reason": ""
                            },
                            "SeatPreference": "any"
                        },
                        "ContactInfoRef": "CTC1"
                    }     
                ]
            },
            "ContactList": {
                "ContactInformation": [
                     {
                        "ContactID": "CTC1",
                        "AgencyName": "kathir",
                        "EmailAddress": "kathir@gmail.com",
                        "Phone": {
                            "ContryCode": "+91",
                            "AreaCode": "",
                            "PhoneNumber": "9854785465"
                        },
                        "Mobile": {
                            "ContryCode": "+91",
                            "MobileNumber": "9854785465"
                        },
                        "Address": {
                            "Street": [
                                "kovil Street",
                                null
                            ],
                            "CityName": "chennai",
                            "StateProv": "AX",
                            "PostalCode": "600028",
                            "CountryCode": "CA"
                        },
                        "PassengerContact": {
                            "EmailAddress": "mosris@gmail.com",
                            "Phone": {
                                "ContryCode": "",
                                "AreaCode": "",
                                "PhoneNumber": "9856325698"
                            }
                        }
                    }
                ]
            }
        }
    }
}'
     

As a result of this request, your order details will get changed.

Note: Visit AirOrderChange to get information about all the parameters used in this query.

Congratulations! You have now successfully added ancillary to your order after getting your ticket.