Get Fare Rule
Retrieve detailed fare rules for a selected flight option. This endpoint provides fare conditions (refund, change, baggage, etc.) for each segment and passenger type.
Endpoint
- URL:
/api/v1/flight/farerule - Method:
POST - Auth Required: Yes (Bearer Token/X-api-key)
- Content-Type:
application/json
Authentication
This endpoint requires a valid JWT Bearer token in the Authorization header:
Authorization: Bearer <access_token>
Obtain tokens via /api/v1/sign-in (POST) with your credentials.
Request Structure
| Field | Type | Required | Description |
|---|---|---|---|
| system | string | No | Airline system code (e.g., VN, VJ, 1A) |
| flightValues | array | No | List of encoded flight values from Search Result |
| isMiniRule | boolean | No | Whether to return only mini fare rules |
Example Request:
{
"system": "VN",
"flightValues": ["eyJmbGlnaHRJZCI6MSwiZGVwYXJ0RGF0ZSI6IjIwMjUtMDctMTAiLCJzdGFydFBvaW50IjoiU0dOIiwiZW5kUG9pbnQiOiJIQU4iLCJhaXJsaW5lIjoiVk4iLCJmYXJlQ2xhc3MiOiJZIn0="],
"isMiniRule": false
}
Request Constraints & Business Rules
systemandflightValuesmust match the values from the flight search/select response.- Only available after a successful flight search and select.
- If
isMiniRuleis true, only a summary of fare rules is returned.
Response Structure
| Field | Type | Nullable | Description |
|---|---|---|---|
| system | string | Yes | Name of the airline system |
| status | boolean | No | true if successful, false if failed |
| error | object | Yes | Error details (if any) |
| description | string | Yes | Error description (if any) |
| trackingId | string | Yes | Tracking ID for request logs |
| trackingTime | string | Yes | Time for request tracking |
| fareRules | array | Yes | List of fare rules per segment |
FareRule Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| startPoint | string | Yes | Departure airport code |
| endPoint | string | Yes | Arrival airport code |
| route | string | Yes | Route (e.g., SGN-HAN) |
| fareBasis | string | Yes | Fare basis code |
| passengerGroups | array | Yes | List of passenger groups with rule details |
PassengerGroup Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| type | string | Yes | Passenger type (ADT, CHD, INF) |
| ruleGroups | array | Yes | List of rule groups (e.g., Cancel, Change) |
RuleGroup Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| ruleType | string | Yes | Rule type (e.g., Cancel, Change) |
| ruleCode | string | Yes | Rule code |
| ruleTitle | string | Yes | Rule title |
| ruleDetails | array | Yes | List of rule details |
RuleDetail Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| ruleText | string | Yes | Rule description |
| ruleValue | string | Yes | Value or range (e.g., MIN: 0 VND - MAX: 0 VND) |
Example Response:
{
"system": "VN",
"status": true,
"description": "Fare rules retrieved successfully",
"trackingId": "abc-123",
"trackingTime": "2024-06-01T12:00:00Z",
"fareRules": [
{
"startPoint": "SGN",
"endPoint": "HAN",
"route": "SGN-HAN",
"fareBasis": "KT6VNRF",
"passengerGroups": [
{
"type": "ADT",
"ruleGroups": [
{
"ruleType": "Cancel",
"ruleCode": "RULE1",
"ruleTitle": "Cancel after departure",
"ruleDetails": [
{ "ruleText": "Not Allowed", "ruleValue": "MIN: 0 VND - MAX: 0 VND" }
]
},
{
"ruleType": "Change",
"ruleCode": "RULE2",
"ruleTitle": "Change before departure - No Show",
"ruleDetails": [
{ "ruleText": "Not Allowed", "ruleValue": "MIN: 0 VND - MAX: 0 VND" }
]
}
]
}
]
}
]
}
Error Codes
See Error Codes for details on possible error responses.
Security & Validation
- All input is validated for type and required fields.
- Only authorized users can retrieve fare rules.
- All actions are logged and traceable.
Validation Questions
- What are the supported fare rule types and codes?
- Are there airline-specific rule groupings?
- How are mini rules determined and what do they include?
For integration support, see Contact Support.