Search-multi
# 1. Tổng quan
- Action URL:
/api/v1/bamboo/flight/search-multi - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả:
API này cho phép tìm kiếm chuyến bay và giá vé theo tiêu chí nhiều chặng (multi-segment).
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 muốn tìm kiếm, số lượng khách, và các tùy chọn khác.
- Gửi 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"
},
{
"origin": "string",
"destination": "string",
"flight_date": "string"
},
{
"origin": "string",
"destination": "string",
"flight_date": "string"
},
{
"origin": "string",
"destination": "string",
"flight_date": "string"
},
{
"origin": "string",
"destination": "string",
"flight_date": "string"
}
],
"pax_types": [
{
"type": "string",
"count": "number"
}
],
"trip_type": "string",
"point_of_purchase": "string"
}
# 4.2 Bảng mô tả Request Body
| 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 | |
| Pax_types | Có | List<paxtype> | Danh sách loại khách | |
| 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
{
"success": true,
"status_code": 200,
"message": "Tìm kiếm chuyến bay thành công",
"request_id": "req_123456",
"flight_options": [
{
"option_id": "opt_123456",
"segments": [
{
"SegmentId": 0,
"Airline": "string",
"Operator": "string",
"StartPoint": "string",
"EndPoint": "string",
"DepartDate": "string",
"ArriveDate": "string",
"StartTerminal": "string",
"EndTerminal": "string",
"FlightNumber": "string",
"Equipment": "string",
"Duration": 0,
"HasStop": true,
"StopPoint": "string",
"StopTime": 0,
"TechnicalStop": "string",
"DayChange": true,
"StopOvernight": true,
"ChangeStation": true,
"ChangeAirport": true,
"MarriageGrp": "string",
"FlightsMiles": 0,
"Status": "string"
}
],
"fare": {
"fare_type": "ECONOMY",
"price": 1500000,
"currency": "VND",
"taxes_and_fees": 150000,
"total_price": 1650000
},
"total_duration": 120,
"flight_count": 1
}
],
"total_options": 5,
"search_duration": 1500
}
# 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 các 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 flight_option
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
| Option_id | string | Mã duy nhất của 1 chuyến bay | |
| segment | List | Danh sách chặng bay | |
| Fare | List | Danh sách giá vé |
# 5.4 Bảng mô tả Cấu trúc segment
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
| SegmentId | number (integer) | ID chặng bay trong phương án (bắt đầu từ 0) | |
| Airline | string | Hãng khai thác chuyến bay (mã IATA/ICAO hoặc tên) | |
| Operator | string | Đơn vị vận hành thực tế (nếu code-share) | |
| StartPoint | string | Điểm khởi hành (mã sân bay, ví dụ: HAN) | |
| EndPoint | string | Điểm đến (mã sân bay, ví dụ: SGN) | |
| DepartDate | string (ISO datetime) | Thời gian cất cánh | |
| ArriveDate | string (ISO datetime) | Thời gian hạ cánh | |
| StartTerminal | string | Nhà ga khởi hành (ví dụ: T1) | |
| EndTerminal | string | Nhà ga đến (ví dụ: T2) | |
| FlightNumber | string | Số hiệu chuyến bay (ví dụ: QH123) | |
| Equipment | string | Loại tàu bay/thiết bị khai thác (ví dụ: A321) | |
| Duration | number (phút) | Tổng thời lượng bay | |
| HasStop | boolean | Có dừng giữa chặng hay không | |
| StopPoint | string | Điểm dừng (mã sân bay) nếu có | |
| StopTime | number (phút) | Thời gian dừng | |
| TechnicalStop | string | Ghi chú dừng kỹ thuật (nếu có) | |
| DayChange | boolean | Có đổi ngày (+1) khi đến hay không | |
| StopOvernight | boolean | Dừng qua đêm hay không | |
| ChangeStation | boolean | Có đổi trạm/sân bay trong thành phố hay không | |
| ChangeAirport | boolean | Có đổi sân bay khác hay không | |
| MarriageGrp | string | Nhóm kết hôn (marriage group) trong PNR/fare | |
| FlightsMiles | number (integer) | Số dặm bay ghi nhận | |
| Status | string | Tình trạng chặng (Confirmed, Waitlisted, Canceled) |
# 5.5 Bảng mô tả Cấu trúc fare
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
| Fare_type | string | Loại vé | |
| Price | number | Giá cước | |
| Currency | string | Mã tiền tệ | |
| Taxes_and_fees | number | Thuế và phí sân bay | |
| Total_price | number | Tổng số tiền phải trả |