menu

Important Implementations 2024 New image

Fare Inclusion

Fare Inclusion provides a comprehensive list of all fare benefits, such as baggage allowance, cancellation fees, seat charges, meal availability, and more.

This ensures better transparency and helps your customers make informed decisions when booking.

Below is a sample of the FareInclusions node included in the API response:

			  
       "FareInclusions": [
    "Cabin Baggage - 07KG",
    "Check-In Baggage - Included",
    "Cancellation Fees - Applicable",
    "Reissue Fees - Applicable",
    "Seat - Chargeable",
    "Meal - Chargeable"
]

  
Fare Inclusion Sample File:
Fare Inclusion Search Request and Response

Air Arabia New Version

The Air Arabia new version API with SSR (Special Service Request) booking details. Do the necessary changes at your end as below to ensure smooth implementation:

Ensure that the IsHoldMandatoryWithSSR='true' flag is included in the FareQuote response. This flag indicates that a hold is mandatory when the agency selects an SSR during booking.

  • No SSR Selected: The agency can either send a direct ticket request or hold the booking before proceeding with ticketing.
  • SSR Selected: The agency must first call the book function to hold the PNR before ticketing. This will return a "BookedOther" status with updated pricing, which must be included in the ticket request for a successful booking.
  • This scenario will follow a GDS-like approach (HoldNTicket).

    Important Note: If the agency selects SSR and directly sends a ticket request without holding the booking, the API will return a validation error: Direct ticketing is not allowed with SSR. Please hold the booking first, then proceed with ticketing.

    Additional Details: Airlines G9, 3L, 3O, and E5 are included in the unified API.

    There is no dedicated test environment available.

    Air Arabia booking Validation Sample File:
    Air Arabia booking Validation Search Request Log

    Transit Visa information

    Transit Visa information will reflect in the Search Response, the node reflect is "IsTransitVisaRequired": true"

    If the above node will reflect in the search response then for that Flight and for that sector Transit Visa is required.

    As of now we have implemented for below Country's


    NOTE: If you will have any Country's for which this can be implement kindly share us on the email : apiintegrationteam@tbo.com

    Indigo Airline - Book without seat

    In case if you have selected the Seat and the booking is failed,in this case you need to check the fare Quote response and check these node value ("IsBookableIfSeatNotAvailable": True,)

    System not fail the booking and issue the ticket without seat then you can pass the Book/Ticket Request -> IsAllowBookingWithoutSeat: true / false.

    Note : This Flow only the Indigo airline .

    FirstName and LastName format

    In case passenger's last name is not available or of the single character, in this case to identify in which format you need to pass the name check the fare quote response and check below nodes.

    1."FirstNameFormat": "If FirstName is missing, Update FirstName as LastName."

    2."LastNameFormat": "If LastName is missing, Update LastName and FirstName as FirstName."


    International Search (Open and fixed combination)

    In the search Request, the node "SearchCombinationType" will reflect

    If the "SearchCombinationType"=1 then it is the open combination

    If the "SearchCombinationType"=2 then it is the fixed combination

    GDS booking Without Title

    GDS booking can be created without title,but in this case gender node should be mandatory to pass in ticket request.

    Ticket Request :
    "Title": "Mr",
    "FirstName": "Devasis",
    "LastName": "Gupta",
    "PaxType": 1,
    "Gender": 1,

    Result Index Update

    In the Search Response We have done changes in the Result Index value

  • Earlier we are returning the ResultIndex as OB/IB
  • Now the Result index will be reflect as a encrypted value, which client need to pass in further requests.
  • There is no changes in the Flow, the Flow will work as it is.
  • Below is the response which client received:

    "Results":
    [
    [
    {
    "FirstNameFormat": null,
    "IsBookableIfSeatNotAvailable": false,
    "IsHoldAllowedWithSSR": false,
    "LastNameFormat": null,
    "ResultIndex": "OB2[TBO]aQL8Cu2CvJfmTagPYiFQXzCE6jkoEmMoyt/OTpPNNqcI+60xBJu1+DE9SNqLF9Gv0qjS/I9EI1oWTCaOZxbW3APYP4SuyV93yFzQHlFC5wx+hdpOnYjBW+ZYu00Zox3oNEDpGqjtbXvoU0xv6sUXqMDJe8BV9RYiwMiI49BDE96prX3VwOYqeC385e6l/RJxB7LHnqjWMdky1DlXu03uZ1RPLdhE9f5Bcy+Mz5F+NYW777ZBbaAwro2D8+8UVuPfMCC5lDr0VSnQMbKvJDqwqQZUqxfVhfAcdPQ7MCVLMm6nO+ysQ3zW5peBfY8yp3yK5AO0Q2GsiL5WjEaz6FyzgdxBwTS2PrGUe1Z67rkaz9C/CAxaZUqUfUVzc2rpMQdrc2yG1Hq9GkfLcMxKwCIJhOdpgLO4CFAM5CRtkdfwd4FWyPtG96l4bsTOkShjc7bS1AHbvqlnhYqoN9J0UJCjHg==",
    "Source": 34,
    "IsLCC": true,
    "IsRefundable": true,
    "IsPanRequiredAtBook": false,
    "IsPanRequiredAtTicket": false,
    "IsPassportRequiredAtBook": false,
    "IsPassportRequiredAtTicket": false,
    "GSTAllowed": true,
    "IsCouponAppilcable": true,
    "IsGSTMandatory": false,
    "AirlineRemark": "SG- P SGP.",
    "IsPassportFullDetailRequiredAtBook": false,
    "ResultFareType": "RegularFare",
    "Fare": {
    "Currency": "INR",
    "BaseFare": 3150,
    "Tax": 1382,
    "TaxBreakup": [
    {
    "key": "K3",
    "value": 0
    },
    {
    "key": "YQTax",
    "value": 0
    },
    {
    "key": "YR",
    "value": 0
    },
    {
    "key": "PSF",
    "value": 0
    },
    {
    "key": "UDF",
    "value": 0
    },
    {
    "key": "INTax",
    "value": 0
    },
    {
    "key": "TransactionFee",
    "value": 0
    },
    {
    "key": "OtherTaxes",
    "value": 0
    }
    ],
    "YQTax": 0,
    "AdditionalTxnFeeOfrd": 0,
    "AdditionalTxnFeePub": 0,
    "PGCharge": 0,
    "OtherCharges": 0,
    "ChargeBU": [
    {
    "key": "TBOMARKUP",
    "value": 0
    },
    {
    "key": "GLOBALPROCUREMENTCHARGE",
    "value": 0
    },
    {
    "key": "CONVENIENCECHARGE",
    "value": 0
    },
    {
    "key": "OTHERCHARGE",
    "value": 0
    }
    ],
    "Discount": 0,
    "PublishedFare": 4532,
    "CommissionEarned": 0,
    "PLBEarned": 0,
    "IncentiveEarned": 0,
    "OfferedFare": 4532,
    "TdsOnCommission": 0,
    "TdsOnPLB": 0,
    "TdsOnIncentive": 0,
    "ServiceFee": 0,
    "TotalBaggageCharges": 0,
    "TotalMealCharges": 0,
    "TotalSeatCharges": 0,
    "TotalSpecialServiceCharges": 0
    },
    "FareBreakdown": [
    {
    "Currency": "INR",
    "PassengerType": 1,
    "PassengerCount": 1,
    "BaseFare": 3150,
    "Tax": 1382,
    "TaxBreakUp": [
    {
    "key": "YQTax",
    "value": 0
    },
    {
    "key": "YR",
    "value": 0
    }
    ],
    "YQTax": 0,
    "AdditionalTxnFeeOfrd": 0,
    "AdditionalTxnFeePub": 0,
    "PGCharge": 0,
    "SupplierReissueCharges": 0
    }
    ],
    "AirlineCode": "SG",
    "ValidatingAirline": "SG",
    "FareClassification": {
    "Color": "lightBlue",
    "Type": "Publish"
    }
    },