Verify Price
# 1. Tổng quan
- Action URL:
/api/v1/bamboo/manager/verify-price - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả:
Tính năng này cho phép xuất vé Bamboo Airways
# 2. Hướng dẫn sử dụng
- Thực hiện request từ thông tin mã máy bay để xuất vé máy bay
- Gửi POST tới API action URL để nhận về kết quả xuất vé
- 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
{
"verifyPriceItems": [
{
"guest_details": [
{
"given_name": "NAM",
"sur_name": "KHANH",
"name_prefix": "MR",
"type": "ADULT",
"guest_id": 2
}
],
"itinerary_details": [
{
"flight_segment_group_id": 1,
"segment_id": 1,
"flight_number": "203",
"flight_date": "2025-10-28",
"board_point": "HAN",
"off_point": "SGN",
"booking_class": "M",
"carrier_code": "QH",
"fare_basis": "NES0F"
}
],
"pnr_contact": {
"address": {
"email": "string",
"phone_number": "string"
},
"name_prefix": "string",
"language": "EN",
"sur_name": "string",
"given_name": "string"
},
"trip_type": "OW",
"point_of_purchase": "VND",
"air_booking_id": "FLN202510271025221761535522328036990"
}
]
}
# Request (top-level)
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'verifyPriceItems' | array<object> | Danh sách item cần xác minh giá. |
# verifyPriceItems[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'guest_details' | array<object> | Danh sách khách. | |
'itinerary_details' | array<object> | Chi tiết hành trình. | |
'pnr_contact' | object | Thông tin liên hệ PNR. | |
'trip_type' | string (enum) | Loại chuyến bay (ví dụ: OW/RT/MX). | |
'point_of_purchase' | string | Điểm mua/đơn vị tiền – như mẫu hiện là VND. | |
'air_booking_id' | `string`` | ID đặt chỗ bay. |
# verifyPriceItems[].guest_details[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'given_name' | string | Tên khách. | |
'sur_name' | string | Họ khách. | |
'name_prefix' | string | Xưng hô (MR/MRS/MS...). | |
'type' | string (enum) | Loại khách: ADULT/CHILD/INFANT. | |
'guest_id' | number (integer) | ID khách. |
# verifyPriceItems[].itinerary_details[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'flight_segment_group_id' | number (integer) | ID nhóm chặng. | |
'segment_id' | number (integer) | ID chặng. | |
'flight_number' | number \| string | Số hiệu chuyến bay. | |
'flight_date' | string (YYYY-MM-DD) | Ngày bay. | |
'board_point' | string (IATA-3) | Sân bay khởi hành. | |
'off_point' | string (IATA-3) | Sân bay đến. | |
'booking_class' | string | Hạng đặt chỗ. | |
'carrier_code' | string (IATA-2) | Mã hãng bay. | |
'fare_basis' | string | Fare basis code. |
# verifyPriceItems[].pnr_contact
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'address' | object | Địa chỉ liên hệ. | |
'name_prefix' | string | Xưng hô người liên hệ. | |
'language' | string | Ngôn ngữ. | |
'sur_name' | string | Họ người liên hệ. | |
'given_name' | string | Tên người liên hệ. |
# verifyPriceItems[].pnr_contact.address
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'email' | string (email) | Email liên hệ (có thể placeholder "string"). | |
'phone_number' | string | Số điện thoại liên hệ. |
# 5. Response
# 5.1 Ví dụ Response
{
"statusCode": 200,
"timestamp": "2025-10-27T03:27:24.650Z",
"path": "/api/v1/bamboo/manager/verify-price",
"message": "Xác minh giá vé Bamboo Airways thành công",
"data": [
{
"data": {
"error": null,
"pnr_on_hold": false,
"last_modified_datetime": "",
"number_of_seats": 1,
"itinerary": [
{
"flight_segment_group_id": 1,
"segment_id": 1,
"carrier_code": "QH",
"flight_number": "203",
"flight_date": "2025-10-28",
"board_point": "HAN",
"off_point": "SGN",
"scheduled_departure_datetime": "2025-10-28 07:10:00",
"scheduled_arrival_time": "2025-10-28 09:25:00",
"departure_terminal": "1",
"arrival_terminal": "3",
"cabin_class": "ECONOMY",
"flight_status": "HK",
"aircraft_type": "321",
"booking_class": "M",
"is_international": false
}
],
"guest_details": [
{
"given_name": "NAM",
"sur_name": "KHANH",
"name_prefix": "MR",
"type": "ADULT",
"guest_id": 2,
"ticket_details": [
{
"coupon_details": [
{
"baggage_allowance_weight": "0",
"baggage_allowance_unit": "K",
"segment_id": 1
}
]
}
]
}
],
"ssr_details": [],
"seat_details": [],
"fee_details": null,
"emd_deposits": [],
"pnr_contact": {
"address": {
"email": "STRING",
"phone_number": "STRING"
},
"name_prefix": "",
"language": "EN",
"sur_name": "STRING STRING",
"given_name": ""
},
"itin_price": {
"guest_price_break_down": [
{
"price_break_down": [
{
"applied_fare_detail_type": {
"base_fare": 1419000,
"base_fare_currency": "VND",
"applied_fare": 1419000,
"display_fare_amount": 1419000,
"currency": "VND"
},
"fare_detail_for_guest_type": [
{
"fare_basis": "MES0F",
"fare_type": "EconomySmart",
"segment_id": [
1
],
"fare_component_id": 1
}
],
"total_tax": {},
"tax": [
{
"code": "YR",
"amount": 446000,
"currency": "VND",
"iata_code": "YR"
},
{
"code": "AX",
"amount": 99000,
"currency": "VND",
"iata_code": "AX"
},
{
"code": "UE",
"amount": 114000,
"currency": "VND",
"iata_code": "UE"
},
{
"code": "UE",
"amount": 36000,
"currency": "VND",
"iata_code": "UE"
}
],
"guest_type": "ADULT"
}
]
}
],
"total_amount_paid": {},
"total_amount_tobe_paid": {
"currency": "VND",
"amount": 2128000,
"guest_amount": [
{
"guest_id": 2,
"amount": 2128000,
"currency": "VND",
"guest_type": "ADULT"
}
]
},
"time_limit_detail": {},
"refund_amount": {},
"remarks": [
"BOOKED BY BAOBAO100383@GMAIL.COM - 2025-10-27T10:27:18.000Z"
],
"id": "FLN202510271025221761535522328036990",
"message": [
{
"message": "Thành công!"
}
],
"success": true
}
}
}
],
"errors": null
}
# Response (top-level)
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
statusCode | number (integer) | Mã trạng thái HTTP. | |
timestamp | string (ISO 8601) | Thời điểm phản hồi. | |
path | string | Đường dẫn API. | |
message | string | Thông báo chung. | |
data | array<object> | Danh sách kết quả kiểm tra giá (mỗi phần tử tương ứng một item xác minh). | |
errors | array<object> \| null | Danh sách lỗi nếu có. |
# data[] (element)
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
data | object | Payload kết quả chi tiết cho item xác minh. | |
id | string | ID tham chiếu/yêu cầu cho item. | |
message | array<object> | Thông điệp kết quả. | |
success | boolean | Trạng thái thành công của item. |
# data[].data
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
error | string \| null | Lỗi nếu có. | |
pnr_on_hold | boolean | PNR đang giữ chỗ hay không. | |
last_modified_datetime | string | Thời điểm cập nhật gần nhất (nếu có). | |
number_of_seats | number (integer) | Số ghế. | |
itinerary | array<object> | Danh sách chặng bay. | |
guest_details | array<object> | Danh sách khách. | |
ssr_details | array<object> | Dịch vụ bổ sung (nếu có). | |
seat_details | array<object> | Chỗ ngồi (nếu có). | |
fee_details | object \| null | Chi tiết phí bổ sung (nếu có). | |
emd_deposits | array<object> | Các EMD/phiếu thu kèm theo (nếu có). | |
pnr_contact | object | Thông tin liên hệ PNR. | |
itin_price | object | Thông tin giá hành trình xác minh. | |
total_amount_paid | object | Tổng đã thanh toán (nếu có). | |
total_amount_tobe_paid | object | Tổng cần thanh toán. | |
time_limit_detail | object | Hạn giữ chỗ/ra vé (nếu có). | |
refund_amount | object | Thông tin hoàn tiền (nếu có). | |
remarks | array<string> | Ghi chú/remark hệ thống. |
# data[].data.itinerary[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
flight_segment_group_id | number (integer) | ID nhóm chặng. | |
segment_id | number (integer) | ID chặng. | |
carrier_code | string (IATA-2) | Mã hãng. | |
flight_number | number \| string | Số hiệu chuyến bay. | |
flight_date | string (YYYY-MM-DD) | Ngày bay. | |
board_point | string (IATA-3) | Sân bay khởi hành. | |
off_point | string (IATA-3) | Sân bay đến. | |
scheduled_departure_datetime | string (YYYY-MM-DD HH:mm:ss) | Giờ cất cánh dự kiến. | |
scheduled_arrival_time | string (YYYY-MM-DD HH:mm:ss) | Giờ hạ cánh dự kiến. | |
departure_terminal | string | Nhà ga đi. | |
arrival_terminal | string | Nhà ga đến. | |
cabin_class | string (enum) | Hạng khoang. | |
flight_status | string | Tình trạng segment. | |
aircraft_type | string | Loại tàu bay. | |
booking_class | string | Hạng đặt chỗ. | |
is_international | boolean | Chặng quốc tế hay nội địa. |
# data[].data.guest_details[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
given_name | string | Tên khách. | |
sur_name | string | Họ khách. | |
name_prefix | string | Xưng hô. | |
type | string (enum) | Loại khách: ADULT/CHILD/INFANT. | |
guest_id | number (integer) | ID khách. | |
ticket_details | array<object> | Danh sách vé & coupon chi tiết (nếu có). |
# data[].data.guest_details[].ticket_details[].coupon_details[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
baggage_allowance_weight | string | Khối lượng hành lý kèm vé. | |
baggage_allowance_unit | string | Đơn vị khối lượng (K = kilogram). | |
segment_id | number (integer) | ID chặng áp dụng. |
# data[].data.pnr_contact
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
address | object | Địa chỉ liên hệ. | |
name_prefix | string | Xưng hô người liên hệ. | |
language | string | Ngôn ngữ. | |
sur_name | string | Họ người liên hệ. | |
given_name | string | Tên người liên hệ. |
# data[].data.pnr_contact.address
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
email | string (email) | Email liên hệ (có thể là placeholder). | |
phone_number | string | Số điện thoại liên hệ. |
# data[].data.itin_price
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
guest_price_break_down | array<object> | Chi tiết giá theo từng khách. |
# data[].data.itin_price.guest_price_break_down[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
price_break_down | array<object> | Thành phần giá. | |
tax | array<object> | Thuế/phụ phí theo khách. | |
guest_type | string (enum) | Loại khách. |
# data[].data.itin_price.guest_price_break_down[].price_break_down[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
applied_fare_detail_type | object | Nhóm giá & tiền tệ. | |
fare_detail_for_guest_type | array<object> | Thông tin hạng vé theo loại khách. | |
total_tax | object | Tổng thuế (nếu có). |
# data[].data.itin_price.guest_price_break_down[].price_break_down[].applied_fare_detail_type
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
base_fare | number | Giá cước gốc. | |
base_fare_currency | string (ISO-4217) | Tiền tệ của base_fare. | |
applied_fare | number | Giá cước đã áp dụng. | |
display_fare_amount | number | Giá hiển thị. | |
currency | string (ISO-4217) | Tiền tệ hiển thị. |
# data[].data.itin_price.guest_price_break_down[].price_break_down[].fare_detail_for_guest_type[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
fare_basis | string | Fare basis code. | |
fare_type | string | Brand/loại giá. | |
segment_id | array<number> \| number | Danh sách/ID chặng áp dụng. | |
fare_component_id | number (integer) | ID thành phần giá. |
# data[].data.itin_price.guest_price_break_down[].tax[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
code | string | Mã thuế/phụ phí. | |
amount | number | Số tiền. | |
currency | string (ISO-4217) | Tiền tệ. | |
iata_code | string | Mã IATA (nếu có). |
# data[].data.total_amount_paid
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
(xem phần total_amount_tobe_paid để biết cấu trúc tương tự) |
# data[].data.total_amount_tobe_paid
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
currency | string (ISO-4217) | Tiền tệ tổng thanh toán. | |
amount | number | Tổng tiền phải trả. | |
guest_amount | array<object> | Tổng theo từng khách. |
# data[].data.total_amount_tobe_paid.guest_amount[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
guest_id | number (integer) | ID khách. | |
amount | number | Số tiền phải trả của khách. | |
currency | string (ISO-4217) | Tiền tệ. | |
guest_type | string (enum) | Loại khách. |