Search-roundtrip
# 1. Tổng quan
- Action URL:
/api/v1/bamboo/flight/search-roundtrip - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả:
- Tính năng này cho phép tìm kiếm chuyến bay và giá vé khứ hồi.
- Có thể truyền các tham số tùy chọn để lọc kết quả theo mong muốn, bao gồm:
- Chế độ tìm kiếm
- Điểm dừng
# 2. Hướng dẫn
- Thực hiện request từ thông tin chặng bay, số lượng khách và các tùy chọn khác.
- POST tới API action URL để nhận về kết quả tìm kiếm chuyến bay.
- Nhận về response và xử lý dữ liệu ở phía ứng dụng của đại lý.
# 3. Parameters
# Bảng mô tả Parameters
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả |
|---|---|---|---|
x-api-token | Có | String | Token API (F10) |
x-api-password | Có | String | Mật khẩu API (F10) |
x-api-account | Có | String | Tài khoản API (F10) |
# 4. Request Body
# 4.1 Ví dụ Request Body
{
"availability_searches": [
{
"origin": "string",
"destination": "string",
"flight_date": "string(yyyy-mm-dd)"
}
],
"pax_types": [
{
"type": "string",
"count": "number"
}
],
"trip_type": "string",
"point_of_purchase": "string"
}
# 4.2 Bảng mô tả Cấu trúc dữ liệu
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|---|
Origin | Có | String | Điểm khởi hành | |
Destination | Có | String | Điểm đến | |
Flight_date | Có | String | Ngày bay | |
Type | Có | String | Loại khách | |
Count | Có | String | Số lượng | |
Trip_type | Có | String | Loại chuyến bay | |
Point_of_purchase | Có | String | Mã tiền tệ |
# 5. Response
# 5.1 Ví dụ Response
{
"statusCode": 200,
"timestamp": "2025-07-31T08:53:42.249Z",
"path": "/api/v1/bamboo/flight/search-roundtrip",
"message": "Tìm kiếm chuyến bay Bamboo Airways khứ hồi thành công",
"data": {
"success": true,
"id": "FLN202507311553381753952018108156980",
"message": [
{
"message": "Thành công!"
}
],
"flight_options": [
{
"origin": "HAN",
"destination": "SGN",
"route": "HAN-SGN",
"trip_info": [
{
"flight_segment_group_id": 1,
"is_transit": false,
"segment_info": [
{
"group_segment_id": 1,
"segment_id": 1,
"flight_info": {
"carrier_code": "QH",
"flight_number": "201",
"flight_date": "2025-09-09"
},
"departure_info": {
"airport_code": "HAN",
"terminal": "1",
"datetime": "2025-09-09 05:35:00"
},
"arrival_info": {
"airport_code": "SGN",
"terminal": "1",
"datetime": "2025-09-09 07:45:00"
},
"aircraft_info": {
"type": "321"
},
"is_international": false
}
],
"booking_class": [
{
"trip_index": 1,
"booking_class": "N",
"seat_availablity": 5,
"cabin_class": "ECONOMY",
"group_fare": [
{
"group_segment_id": 1,
"segment_id": 1,
"fare_class": "N",
"fare_basis": "NESOF"
}
],
"pricing": {
"fare_type": "EconomySmart",
"pax_pricing_info": [
{
"pax_type": "ADULT",
"baggage_allowance": {
"weight": "0",
"unit": "K"
},
"display_fare": {
"amount": 1249000,
"currency": "VND"
},
"discount": {
"amount": 0,
"currency": "VND"
},
"applied_fare": {
"amount": 1249000,
"currency": "VND"
},
"tax": {
"amount": 695000,
"currency": "VND"
},
"base_fare": {
"amount": 1249000,
"currency": "VND"
},
"total": {
"amount": 1944000,
"currency": "VND"
}
}
]
}
}
]
}
]
},
{
"origin": "SGN",
"destination": "HAN",
"route": "SGN-HAN",
"trip_info": [
{
"flight_segment_group_id": 1,
"is_transit": false,
"segment_info": [
{
"group_segment_id": 1,
"segment_id": 1,
"flight_info": {
"carrier_code": "QH",
"flight_number": "204",
"flight_date": "2025-09-11"
},
"departure_info": {
"airport_code": "SGN",
"terminal": "3",
"datetime": "2025-09-11 06:30:00"
},
"arrival_info": {
"airport_code": "HAN",
"terminal": "1",
"datetime": "2025-09-11 08:40:00"
},
"aircraft_info": {
"type": "321"
},
"is_international": false
}
],
"booking_class": [
{
"trip_index": 1,
"booking_class": "L",
"seat_availablity": 5,
"cabin_class": "ECONOMY",
"group_fare": [
{
"group_segment_id": 1,
"segment_id": 1,
"fare_class": "L",
"fare_basis": "LES0F"
}
],
"pricing": {
"fare_type": "EconomySmart",
"pax_pricing_info": [
{
"pax_type": "ADULT",
"baggage_allowance": {
"weight": "0",
"unit": "K"
},
"display_fare": {
"amount": 1629000,
"currency": "VND"
},
"discount": {
"amount": 0,
"currency": "VND"
},
"applied_fare": {
"amount": 1629000,
"currency": "VND"
},
"tax": {
"amount": 726000,
"currency": "VND"
},
"base_fare": {
"amount": 7099000,
"currency": "VND"
},
"total": {
"amount": 8262000,
"currency": "VND"
}
}
]
}
}
]
}
]
}
],
"total_options": 2,
"errors": null
}
}
# 5.2 Bảng mô tả Cấu trúc SearchFlightRes
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
success* | boolean | Trạng thái thành công của yêu cầu | |
status_code* | number | Mã trạng thái HTTP/ứng dụng | |
message* | string | Thông báo kết quả tìm kiếm | |
request_id* | string | ID yêu cầu phục vụ truy vết | |
flight_options* | List<BambooFlightOptionDto> | Danh sách tùy chọn chuyến bay trả về | |
Total_duration | number | Thời gian xử lý tổng chi phí | |
Flight_count | number | Thứ tự chuyến bay | |
Total_options | number | Tổng số tùy chọn chuyến bay | |
Search_duration | number | Thời gian xử lý tìm kiếm (ms) |
# 5.3 Bảng mô tả Cấu trúc Data
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Success | boolean | Đánh giá thành công/thất bại | |
ID | string | Mã chuyến bay |
# 5.4 Bảng mô tả Cấu trúc flight_option
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Origin | string | Điểm khởi đầu | |
Destination | string | Điểm đến | |
Route | string | Chặng bay | |
Trip_info | List | Thông tin chuyến bay |
# 5.5 Bảng mô tả Cấu trúc trip_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Flight_segment_group_id | number | Mã chặng bay | |
Is_transit | boolean | Có quá cảnh không | |
Segment_info | List | Thông tin chặng bay | |
Booking_class | List | Danh sách hạng đặt chỗ cho hành trình/chặng |
# 5.6 Bảng mô tả Cấu trúc segment_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Group_segment_id | number | Mã nhóm chặng | |
Segment_id | number | Mã chặng cụ thể | |
Flight_info | List | Thông tin chuyến bay | |
Departure_info | List | Thông tin khởi hành | |
Arrival_info | List | Thông tin đến | |
Aircraft_info | List | Thông tin thiết bị bay | |
Is_international | boolean | Có phải chặng quốc tế không |
# 5.7 Bảng mô tả Cấu trúc flight_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Carrier_code | string | Mã hãng vận chuyển | |
Flight_number | string | Số hiệu chuyến bay | |
Flight_date | string | Ngày bay theo lịch khai thác |
# 5.8 Bảng mô tả Cấu trúc departure_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Airport_code | string | Mã sân bay khởi hành | |
Terminal | string | Nhà ga khởi hành | |
datetime | string | Thời điểm cất cánh |
# 5.9 Bảng mô tả Cấu trúc arrival_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Arrival_code | string | Mã sân bay đến | |
Terminal | string | Nhà ga đến (nếu có) | |
datetime | string | Thời điểm hạ cánh |
# 5.10 Bảng mô tả Cấu trúc aircraft_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
type | string | Loại tàu bay / thiết bị |
# 5.11 Bảng mô tả Cấu trúc booking_class
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Trip_index | number | Chỉ số hành trình | |
Booking_class | string | Mã hạng đặt chỗ | |
Seat_availablity | number | Số ghế còn trống trong hạng đặt | |
Cabin_class | string | Hạng khoang ghế | |
Group_fare | List | Thông tin giá áp theo chặng cụ thể | |
Pricing | List | Nhóm thông tin định giá cho hạng đặt |
# 5.12 Bảng mô tả Cấu trúc group_fare
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Group_segment_id | number | ID nhóm chặng | |
Segment_id | number | ID chặng cụ thể trong nhóm | |
Fare_class | string | Mã hạng giá | |
Fare_basic | string | Mã cơ sở giá (điều kiện vé) |
# 5.13 Bảng mô tả Cấu trúc pricing
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Fare_type | string | Loại giá / brand hiển thị | |
Pax_pricing_info | List | Danh sách giá theo loại hành khách |
# 5.14 Bảng mô tả Cấu trúc Pax_pricing_info
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Pax_type | string | Loại khách | |
Baggage_allowance | List | Quyền lợi hành lý | |
Display_fare | List | Giá hiển thị | |
Discount | List | Thông tin giảm giá | |
Applied_fare | List | Giá sau khuyến mại | |
Tax | List | Thuế và phụ phí | |
Base_fare | List | Giá gốc | |
Total | List | Tổng phải trả |
# 5.15 Bảng mô tả Cấu trúc Baggage_allowance
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Weight | string | Khối lượng hành lý | |
unit | string | Đơn vị khối lượng |
# 5.16 Bảng mô tả Cấu trúc display_fare, discount, applied_fare, tax, base_fare, total
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
Amount | number | Số tiền | |
Currency | string | Mã tiền tệ |