Get SeatMap
Retrieve the seat map layout for a specific flight, including available seats, occupied seats, and seat characteristics such as class, position, and any additional fees.
Endpoint
- URL:
/api/v1/flight/getseatmap - 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 | Booking system code (e.g., VN, VJ, 1A) |
| flightValue | string | No | Flight value from search results |
Example Request:
{
"system": "VN",
"flightValue": "encoded_flight_value_from_search"
}
Request Constraints & Business Rules
- The
flightValuemust be obtained from a previous flight search response. - Seat maps are only available for flights that support seat selection.
- Different aircraft types will have different seat map configurations.
- Some seats may have restrictions (emergency exits, extra legroom, etc.).
- Seat availability is updated in real-time.
Response Structure
| Field | Type | Nullable | Description |
|---|---|---|---|
| system | string | Yes | System name (e.g., VN, VJ, 1A) |
| 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 (ISO 8601 format) |
| flightSeats | array | Yes | List of flight seat information (see FlightSeat) |
FlightSeat Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| aircraft | string | Yes | Aircraft type (e.g., Airbus A321, Boeing 737) |
| flightNumber | string | Yes | Flight number (e.g., VN123) |
| cabins | array | Yes | List of cabin configurations (see Cabin) |
Cabin Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| firstRow | string | Yes | First row number of the cabin |
| lastRow | string | Yes | Last row number of the cabin |
| cabinClass | string | Yes | Cabin class name |
| columns | array | Yes | List of seat columns (see SeatColumn) |
| rows | array | Yes | List of seat rows (see SeatRow) |
SeatColumn Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| columnIndex | integer | No | Column index (starting from 0) |
| columnCode | string | Yes | Column code (null if aisle) |
| columnType | string | Yes | Type: "column" (seat) or "aisle" |
| characteristics | array | Yes | Column characteristics |
SeatRow Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| rowNumber | string | Yes | Row number |
| seats | array | Yes | List of seats in this row (see Seat) |
Seat Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| text | string | Yes | Seat number (used for booking) |
| columnIndex | integer | No | Column index (starting from 0) |
| route | string | Yes | Route (StartPoint + EndPoint) |
| available | boolean | Yes | Whether seat is available |
| description | array | Yes | Seat characteristics and restrictions |
| prices | array | Yes | Prices by passenger type (see PriceSeatType) |
Example Response:
{
"system": "VN",
"status": true,
"error": null,
"description": null,
"trackingId": "abc-123",
"trackingTime": "2024-06-01T12:00:00Z",
"flightSeats": [
{
"aircraft": "Airbus A321",
"flightNumber": "VN123",
"cabins": [
{
"cabinClass": "Y",
"cabinName": "Economy",
"rows": [
{
"rowNumber": "6",
"seats": [
{
"seatNumber": "6A",
"seatLabel": "A",
"available": true,
"seatType": "Window",
"fee": 0,
"currency": "VND",
"seatValue": "encoded_seat_selection_data"
},
{
"seatNumber": "6B",
"seatLabel": "B",
"available": true,
"seatType": "Middle",
"fee": 0,
"currency": "VND",
"seatValue": "encoded_seat_selection_data"
},
{
"seatNumber": "6C",
"seatLabel": "C",
"available": false,
"seatType": "Aisle",
"fee": 0,
"currency": "VND",
"seatValue": null
}
]
}
]
}
]
}
]
}
Error Codes
This endpoint may return the following error codes:
- 20000 - Seat: Errors specific to seat map and seat selection operations (20000-20003)
- 00000 - Flight Hub (General Errors): General system and authentication errors (00001-00056)
For a complete list of error codes, see Error Codes.
Security & Validation
- All input is validated for type and required fields.
- Only authenticated users can access this endpoint.
- Flight values are validated against active search sessions.
- Seat availability is checked in real-time.
- All seat map requests are logged and traceable.
Validation Questions
- How long are flight values valid for seat map requests?
- Are there restrictions on which flights support seat maps?
- How are special needs seats (wheelchair accessible) identified?
- What happens if seat availability changes during selection?
For integration support, see Contact Support.