Skip to content

Fare Rules

/api/v1/flight/fare-rule-search  

Fare rule search request consists with the offerId and the relevant fare basis code and response consists with fare rules, mini fare rules by including penalties as well.

Fare rule Search Request

Tag Attributes Description
offerId offerId*
(Object)
OfferId can be found from flight search response.This should be same with selected result offerId from search response. It is joined with a "-".
tripId-resultId
Ex : offerId= AIR03019045-67.
fareBasis fareBasis
(String List)
Not released yet
This attribute contains fare basis list which came from the result. The Client can send one fareBasis at a time with single request then can get the fare rule response.
Ex: If client has 3 fareBasis with the search result response then it is required to send 3 individual request to get all fare rules for each fare basis.

However current version of API it will work like backend will send all the fare rules which are belongs to all fare basis in single request.But it will changed with future version as explained above.

Flight Fare Rule request
1
2
3
4
5
6
7
8
{ 
    "offerId": "AIR03020094-12",
    "fareBasis": [
      "R0CRP",
      "K0CRP"
    ]

}

Fare rule Search Response

Booking Rules

Suppliers have varying booking restrictions, which can result in failed bookings if customers fail to provide sufficient information. To avoid such scenarios, a booking rules section has been included in the fare rule response.

The fare rules response includes a booking rule section that validates data in the provisional book request. Within the booking rules list, there is also a passenger rule list. Passenger rules consist of mandatory information specific to each passenger at the time of booking. Each passenger rule list contains a pax types list. If the required information is the same for all passenger types, there will be a single passenger rule object. However, if the required information differs, there will be multiple passenger rule objects within the rule. Additionally, there are several attributes at the booking rule level.

Tag Attributes Description
success
(String)
Response status will be return Ex: "true"
statusCode
(Boolean)
Response statusCode will be return Ex: "1"
statusMessage
(String)
Response statusMessage will be return Ex: "SUCCESS"
commonData commonData
(Object)
This tag has the common Data in the response.
productCode*
(String)
Product code of the item being booked,Flight -A
searchKey*
(String)
A unique search id will be returned in the response.
data data
(Object)
notes notes
(List)
This returns important notes for the route. At the search response it has mentioned whether this is available or not. The search response relevant attribute is fareRuleMandatory
text
(String)
Content of note
bookingRules bookingRules
(List)
Booking rules contains the validation parameters which received from suppliers in fare rule response.This contain the passenger level rules and booking level rules.
passengerRules passengerRules
(List)
Passenger rules also a list of parameters based on the passenger type.In a booking adult may required more details than a child or infant.Therefore mandatory details categorised based on the passenger type.The required informaition should be present in the provisional book request ,otherwise user will not be able to proceed.
isBirthDateMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.
isIdTypeMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.Currently this is valid for the passport only.
isDocumentNumberMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only. Currently this is valid for the passport only.
isIssuingCountryCodeMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.Currently this is valid for the passport only.
isResidenceCountryCode
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.Currently this is valid for the passport only.
isDateOfIssueMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.Currently this is valid for the passport only.
isExpiryDateMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.Currently this is valid for the passport only.
isPANMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.
isSeatMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.According to the these values ancillary selection will be validated as explained in the Ancillary section of the document..
isMealMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only. According to the these values ancillary selection will be validated explained in the Ancillary section of the document.
isBaggageMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only. According to the these values ancillary selection will be validated explained in the Ancillary section of the document.
isOtherAncillaryMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only. According to the these values ancillary selection will be validated explained in the Ancillary section of the document.
isAdditionalIdTypeMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.
isAdditionalDocumentNumberMandatory
(Boolean)
This is a passenger level attribute and applicable to the relevant passenger type only.
passengerKeys
(Boolean)
This list defines the applicable passenger types of the above mandatory information
isGSTMandatory isGSTMandatory
(Boolean)
This is a booking rule. If gst is mandatory then provisional book request should contain following gst related information.
Tax Name,Register Number,Company Name,Email Id,Phone number and Address.
isLeadEmailAddressMandatory isLeadEmailAddressMandatory
(Boolean)
This is a booking rule and related to lead passenger only.
isLeadEmailAddressMandatory isLeadEmailAddressMandatory
(Boolean)
This is a booking rule and related to lead passenger only.
onHoldSupported onHoldSupported
(Boolean)
This attribute is indication whether supplier is supporting for on-hold or not. For LCCs this value will receive from suppliers. Due to that it will come with Fare rule response.
However for GDSs this value will take from master data. Hence it will be available even search response for GDSs.
fareRules fareRules
(List)
This returns fare rules for the flights
fareBasis
(String)
Fare basis for the requested itinerary
subSection subSection
(List)
subSectionNumber
(String)
subCode
(String)
subTitle
(String)
remark
(String)
paragraph
(String)
miniFareRules miniFareRules
(Object List)
This returns mini fare rules for the selected flight
fareBasis
fareBasis
paxType
(String)
This attribute signifies the passenger type that is associated with the specific fare basis.
penalties penalties
(String)
This returns penalties for the request flights
type
(String)
penaltyInfo penaltyInfo
(Object List)
applicationCode
(String)
This attributes indicates the Rule is before departure or after departure. Ex:
BEFORE_DEPARTURE_CHARGE_TYPE = 1; AFTER_DEPARTURE_CHARGE_TYPE = 2;
startTime
(String)
endTime
(String)
unit
(String)
amounts amounts
(Double)
currency
(String)
amount
(String)
This indicates charge amount of penalty. If charge is 100% or not refundable then the amount is -1 and remark section will show like relevant action.
amountApplication
(String)
This indicates amount charge type EX: amountApplication: MAX,
applicableFeeRemarks applicableFeeRemarks
(String)
value
(String)
EX: NOT ALLOWED, CHECK FULL FARE RULES, FULLY CHARGEABLE AMOUNT
cancelFeeInd
(Boolean)
Not released yet
refundableInd
(Boolean)
Not released yet
changeFeeInd
(Boolean)
Not released yet
baggageAllowance baggageAllowance
(Object)
Baggage allowance for the particular flight
segmentKey
(String)
An unique identifier will be added as the segment key. a590892f-48d0-4c0b-b552-2f00d394a67c
carryOnBaggage carryOnBaggage
(Object)
Carry on baggage descriptions.
paxType
(String)
Pax type related to the baggage type.
value
(String)
Value of the particular baggage
unit
(String)
Number of units
description
(String)
Baggage description
checkedInBaggage checkedInBaggage
(Object)
Checked in baggage description
paxType
(String)
Pax type related to the baggage type.
value
(String)
Value of the particular baggage's
unit
(String)
Number of units
description
(String)
Baggage description
Fare Rule response
 {
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "additionalProperties": [
      {
        "key": "timeStamp",
        "value": "YYYY-MM-DD HH:MM:SST",
        "description": "description"
      },
      {
        "key": "serverKey",
        "value": "Server01",
        "description": "description"
      }
    ],
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'fareBasis' can't be blank",
      "value": "Penalties might be changed "
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'offerId' can't be blank",
      "value": "Field 'offerId' can't be blank",
      "source": {
        "field": "offerId",
        "pointer": "/fareRule/offerId"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "AIR03024242",
    "productCode": "A"
  },
  "data": [
    {
      "notes": [
        "[Text: airport_message:<h1><strong>All restrictions removed for flying to the UAE</strong></h1><p>UAE has removed all COVID-19 related travel restrictions. Passengers arriving in the UAE are no longer required to take any extra measures before the flight.</p>]",
        "[Text: airport_message:<h1><strong>All restrictions removed for flying to the UAE</strong></h1><p>UAE has removed all COVID-19 related travel restrictions. Passengers arriving in the UAE are no longer required to take any extra measures before the flight.</p>]"
      ],
      "bookingRules": {
        "passengerRules": [
          {
            "isBirthDateMandatory": true,
            "isIdTypeMandatory": true,
            "isDocumentNumberMandatory": true,
            "isIssuingCountryCodeMandatory": true,
            "isResidenceCountryCode": true,
            "isDateOfIssueMandatory": true,
            "isExpiryDateMandatory": true,
            "isPANMandatory ": true,
            "isSeatMandatory": true,
            "isMealMandatory": true,
            "isBaggageMandatory": true,
            "isOtherAncillaryMandatory": true,
            "isAdditionalIdTypeMandatory": false,
            "isAdditionalDocumentNumberMandatory": false,
            "passengerKeys": [
              "ADT"
            ]
          },{
            "isBirthDateMandatory": true,
            "isIdTypeMandatory": true,
            "isDocumentNumberMandatory": true,
            "isIssuingCountryCodeMandatory": true,
            "isResidenceCountryCode": true,
            "isDateOfIssueMandatory": true,
            "isExpiryDateMandatory": true,
            "isPANMandatory ": true,
            "isSeatMandatory": true,
            "isMealMandatory": true,
            "isBaggageMandatory": true,
            "isOtherAncillaryMandatory": true,
            "isAdditionalIdTypeMandatory": false,
            "isAdditionalDocumentNumberMandatory": false,
            "passengerKeys": [
              "CHD"
            ]
          }
        ],
        "isGSTMandatory": true,
        "isLeadEmailAddressMandatory": true,
        "isLeadPhoneNumberMandatory": true,
        "onHoldSupported": true
      },
      "fareRules": [
        {
          "fareBasis": "R0DHFJ",
          "subSection": [
            {
              "subSectionNumber": "50",
              "subCode": "50 RULE APPLICATION AND OTHER CONDITIONS",
              "subTitle": "50 RULE APPLICATION AND OTHER CONDITIONS",
              "remark": "",
              "paragraph": "NOTE - THE FOLLOWING TEXT IS INFORMATIONAL AND NOT<br />VALIDATED FOR AUTOPRICING.<br />NORMAL FARES BETWEEN EUROPE AND THE MIDDLE EAST<br />APPLICATION<br />AREA<br />THESE FARES APPLY<br />BETWEEN EUROPE AND MIDDLE EAST.<br />CLASS OF SERVICE<br />THESE FARES APPLY FOR FIRST/BUSINESS/ECONOMY CLASS<br />SERVICE.<br />TYPES OF TRANSPORTATION<br />FARES ONLY APPLY IF PURCHASED BEFORE DEPARTURE.<br />EXCEPTION-<br />MAY BE USED FOR EN-ROUTE UPGRADING FROM A LOWER<br />FARE PROVIDED ALL CONDITIONS OF THESE FARES ARE<br />MET.",
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            }
          ]
        }
      ],
      "miniFareRules": [
        {
          "fareBasis": "R0DHFJ",
          "paxType": "ADT",
          "penalties": [
            {
              "type": "Change",
              "penaltyInfo": [
                {
                  "applicationCode": "2",
                  "startTime": "1",
                  "endTime": "2",
                  "unit": "H",
                  "amounts": [
                    {
                      "currency": "AED",
                      "amount": 600,
                      "amountApplication": "MAX",
                      "applicableFeeRemarks": [
                        {
                          "value": "Allowed"
                        }
                      ]
                    }
                  ]
                },
                {
                  "applicationCode": "2",
                  "startTime": "3",
                  "endTime": "4",
                  "unit": "H",
                  "amounts": [
                    {
                      "currency": "AED",
                      "amount": 600,
                      "amountApplication": "MAX",
                      "applicableFeeRemarks": [
                        {
                          "value": "Allowed"
                        }
                      ]
                    }
                  ]
                }
              ],
              "cancelFeeInd": true,
              "refundableInd": true,
              "changeFeeInd": true,
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            }
          ],
          "baggageAllowance": [
            {
              "segmentKey": "1fb2a72e-11b1-4156-85d2-5d57ea8e2728",
               "carryOnBaggage": {
                  "paxType": "ADT",
                  "value": "1",
                  "unit": "Pieces",
                  "description": "CARRYON7KG 15LB UPTO45LI 115LCM"
              },
              "checkedInBaggage":{
                  "paxType": "ADT",
                  "value": "2",
                  "unit": "Pieces",
                  "description": "15KG 15LB UPTO45LI 115LCM"
              }

            }
          ]
        }
      ]
    }
  ]
}