Refund
# 1. Tổng quan
- Action url:
/api/v1/bamboo/manager/refund - Đặc tả chi tiết: Swagger Link (opens new window)
- Tính năng này cho phép hủy vé Bamboo Airways cho PNR (Passenger Name Record) đã được xác nhận.
# 2. Hướng dẫn sử dụng
- Thực hiện request từ thông tin mã máy bay để hủy vé
- Gửi POST tới API action URL để nhận về kết quả hủy 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
{
"pnr_number": "F23PPZ",
"guest_details": [
{
"given_name": "NAM",
"sur_name": "KHANH",
"name_prefix": "MR",
"type": "ADULT",
"guest_id": 2,
"ticket_detail": {
"number": "9262414264916"
},
"ticket_details": [
{
"number": "9262414264916",
"coupon_details": [
{
"number": "1",
"status": "I",
"baggage_allowance_weight": "0",
"baggage_allowance_unit": "K",
"segment_id": 1
}
]
}
]
}
],
"air_booking_id": "FLN202510270934381761532478687075492"
}
# 4.2 Cấu trúc dữ liệu
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'Pnr_number' | string | Số PNR | |
'Guest_detail' | List | Chi tiết hành khách | |
'Given_name' | string | Tên | |
'Sur_name' | String | Họ | |
'Name_prefix' | String | Danh xưng | |
'type' | String | Loại hành khách | |
'Guest_id' | Number | ID hành khách | |
'Date_of_birth' | String | Ngày sinh | |
'Ticket_detail' | List | Chi tiết vé | |
'Number' | String | Số vé | |
'Air_booking_id' | String | ID booking hàng không |
# 5. Response
# 5.1 Ví dụ Response
{
"statusCode": 200,
"timestamp": "2025-10-27T02:37:21.807Z",
"path": "/api/v1/bamboo/manager/refund",
"message": "Hủy PNR Bamboo Airways thành công",
"data": {
"success": true,
"id": "FLN202510270934381761532478687075492",
"message": [
{
"message": "Thành công!"
}
],
"data": {
"error": null,
"user_book": "baobao100383@gmail.com",
"user_issue": "baobao100383@gmail.com",
"source": "API",
"pnr_number": "F23PPZ",
"pnr_status": "Cancel",
"pnr_on_hold": false,
"creation_datetime": "2025-10-27 02:37:00",
"last_modified_datetime": "",
"number_of_seats": 1,
"guest_details": [
{
"given_name": "NAM",
"sur_name": "KHANH",
"name_prefix": "MR",
"type": "ADULT",
"guest_id": 2
}
],
"ssr_details": [],
"seat_details": [],
"fee_details": null,
"emd_deposits": [],
"pnr_contact": {
"address": {
"email": "HOC22100@GMAIL.COM",
"phone_number": "+84969573782"
},
"name_prefix": "",
"language": "EN",
"sur_name": "",
"given_name": ""
},
"itin_price": {
"guest_price_break_down": [],
"total_amount_paid": {},
"total_amount_tobe_paid": {},
"time_limit_detail": {},
"refund_amount": {
"currency": "VND",
"amount": 1678000,
"tax_amount": 709000,
"cancel_fee_amount": 450000,
"guest_amount": [
{
"guest_id": 2,
"guest_type": "ADULT",
"currency": "VND",
"amount": 1678000,
"tax_amount": 709000,
"cancel_fee_amount": 450000
}
]
}
}
}
},
"errors": null
}
# 5.2 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' | object | Khối dữ liệu chi tiết. | |
'errors' | array<object> \| null | Danh sách lỗi nếu có. |
# 5.3 data
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
'success' | boolean | Trạng thái thành công phía Bamboo. | |
'id' | string | ID truy vết/yêu cầu Bamboo. | |
'message' | array<object> | Danh sách thông điệp chi tiết. | |
'data' | object | Dữ liệu sau khi hủy vé / hoàn tiền. |
# 5.4 data.data
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
error | string \| null | Lỗi nếu có. | |
user_book | string (email) | Người thao tác đặt (book). | |
user_issue | string (email) | Người thao tác xuất vé (issue). | |
source | string | Nguồn thao tác (API/GUI/...). | |
pnr_number | string | Mã đặt chỗ (PNR). | |
pnr_status | string | Trạng thái PNR (Cancel/Active/...). | |
pnr_on_hold | boolean | PNR đang giữ chỗ hay không. | |
creation_datetime | string (YYYY-MM-DD HH:mm:ss) | Thời điểm xử lý. | |
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ế. | |
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 (sau hủy có thể rỗng). | |
total_amount_paid | object | Tổng đã thanh toán (nếu có). | |
total_amount_tobe_paid | object | Tổng cần thanh toán (nếu có). | |
time_limit_detail | object | Hạn giữ chỗ/ra vé (nếu có). | |
refund_amount | object | Thông tin hoàn tiền. |
# 5.5 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. |
# 5.6 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ệ. |
# 5.7 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ệ. | |
phone_number | string | Số điện thoại liên hệ. |
# 5.8 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 (có thể rỗng sau hủy). |
# 5.9 data.data.refund_amount
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
currency | string (ISO-4217) | Tiền tệ hoàn. | |
amount | number | Tổng số tiền hoàn. | |
tax_amount | number | Tổng thuế hoàn. | |
cancel_fee_amount | number | Phí hủy/penalty. | |
guest_amount | array<object> | Chi tiết hoàn theo từng khách. |
# 5.10 data.data.refund_amount.guest_amount[]
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
guest_id | number (integer) | ID khách. | |
guest_type | string (enum) | Loại khách. | |
currency | string (ISO-4217) | Tiền tệ hoàn. | |
amount | number | Tổng tiền hoàn cho khách. | |
tax_amount | number | Thuế hoàn của khách. | |
cancel_fee_amount | number | Phí hủy áp cho khách. |