Confirm Price

# 1. Tổng quan

  • Action URL: /api/v1/bamboo/flight/confirm-price
  • Đặc tả chi tiết: Swagger Link (opens new window)
  • Mô tả:
    Tính năng này cho phép xác nhận giá vé và thông tin chuyến bay Bamboo Airways.

# 2. Hướng dẫn

  1. Thực hiện request từ thông tin mã máy bay để confirm.
  2. Gửi POST tới API action URL để nhận về kết quả xác nhận.
  3. 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

{
  "guest_details": [
    {
      "given_name": "NAM",
      "sur_name": "KHANH",
      "name_prefix": "MR",
      "type": "ADULT",
      "guest_id": 3
    }
  ],
  "itinerary_details": [
    {
      "flight_segment_group_id": 1,
      "segment_id": 1,
      "flight_number": "201",
      "flight_date": "2025-10-25",
      "board_point": "HAN",
      "off_point": "SGN",
      "booking_class": "N",
      "carrier_code": "QH",
      "fare_basis": "NES0F"
    }
  ],
  "pnr_contact": {
    "address": {
      "email": "hoc22100@gmail.com",
      "phone_number": "+84969573782"
    },
    "name_prefix": "MR",
    "language": "EN",
    "sur_name": "TUNG",
    "given_name": "CHUA"
  },
  "trip_type": "OW",
  "point_of_purchase": "VND",
  "air_booking_id": "FLN202510241044561761277496445323734"
}

# guest_details – GuestDetailDto

Thuộc tính Kiểu dữ liệu Mô tả Ví dụ
guest_details array<object> Danh sách thông tin hành khách.
guest_details[].given_name string Tên hành khách. "NAM"
guest_details[].sur_name string Họ hành khách. "TRAN"
guest_details[].name_prefix string Danh xưng (ví dụ: MR, MS, MRS). "MR"
guest_details[].type string (enum) Loại hành khách: ADULT / CHILD / INFANT. "ADULT"
guest_details[].guest_id number (integer) ID hành khách. 1

# itinerary_details – ItineraryDetailDto

Thuộc tính Kiểu dữ liệu Mô tả Ví dụ
itinerary_details array<object> Chi tiết hành trình.
itinerary_details[].flight_segment_group_id number (integer) ID nhóm đoạn chuyến bay. 1001
itinerary_details[].segment_id number (integer) ID đoạn chuyến bay. 2002
itinerary_details[].flight_number number | string Số hiệu chuyến bay. "QH123"
itinerary_details[].flight_date string (YYYY-MM-DD) Ngày bay. "2025-10-28"
itinerary_details[].board_point string (IATA-3) Sân bay đi. "HAN"
itinerary_details[].off_point string (IATA-3) Sân bay đến. "SGN"
itinerary_details[].booking_class string Hạng đặt chỗ. "Y"
itinerary_details[].carrier_code string (IATA-2) Mã hãng bay. "QH"
itinerary_details[].fare_basis string Cơ sở giá vé (fare basis code). "YBAMBOO"

# pnr_contact

Thuộc tính Kiểu dữ liệu Mô tả Ví dụ
pnr_contact object Thông tin liên hệ PNR.
pnr_contact.address object Địa chỉ liên hệ.
pnr_contact.address.email string (email) Email địa chỉ liên hệ. "example@gmail.com"
pnr_contact.address.phone_number string Số điện thoại liên hệ. "+84901234567"
pnr_contact.name_prefix string Danh xưng người liên hệ. "MR"
pnr_contact.language string (enum) Ngôn ngữ liên hệ (ví dụ: EN, VI). "EN"
pnr_contact.sur_name string Họ người liên hệ. "Nguyen"
pnr_contact.given_name string Tên người liên hệ. "An"

# Trường khác

Thuộc tính Kiểu dữ liệu Mô tả Ví dụ
trip_type string (enum) Loại chuyến bay (OW – một chiều, RT – khứ hồi, MC – đa chặng). "OW"
point_of_purchase string Điểm mua hàng/kênh hoặc mã tiền tệ ghi nhận tại điểm mua. "VND"
air_booking_id string ID đặt chỗ bay. "FLN202510281200001234567890"

# 5. Response

# 5.1 Ví dụ Response

{
  "statusCode": 200,
  "timestamp": "2025-10-24T03:46:15.450Z",
  "path": "/api/v1/bamboo/flight/confirm-price",
  "message": "Xác nhận giá vé Bamboo Airways thành công",
  "data": {
    "success": true,
    "id": "FLN202510241044561761277496445323734",
    "message": [
      {
        "message": "Thành công!"
      }
    ],
    "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": "201",
          "flight_date": "2025-10-25",
          "board_point": "HAN",
          "off_point": "SGN",
          "scheduled_departure_datetime": "2025-10-25 05:35:00",
          "scheduled_arrival_time": "2025-10-25 07:45:00",
          "departure_terminal": "1",
          "arrival_terminal": "3",
          "cabin_class": "ECONOMY",
          "flight_status": "HK",
          "aircraft_type": "321",
          "booking_class": "N",
          "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": "HOC22100@GMAIL.COM",
          "phone_number": "+84969573782"
        },
        "name_prefix": "",
        "language": "EN",
        "sur_name": "CHUA TUNG",
        "given_name": ""
      },
      "itin_price": {
        "guest_price_break_down": [
          {
            "price_break_down": [
              {
                "applied_fare_detail_type": {
                  "base_fare": 1249000,
                  "base_fare_currency": "VND",
                  "applied_fare": 1249000,
                  "display_fare_amount": 1249000,
                  "currency": "VND"
                },
                "fare_detail_for_guest_type": [
                  {
                    "fare_basis": "NES0F",
                    "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"
                  }
                ],
                "guest_type": "ADULT"
              }
            ]
          }
        ],
        "total_amount_paid": {},
        "total_amount_tobe_paid": {
          "currency": "VND",
          "amount": 1794000,
          "guest_amount": [
            {
              "guest_id": 2,
              "amount": 1794000,
              "currency": "VND",
              "guest_type": "ADULT"
            }
          ]
        },
        "time_limit_detail": {},
        "refund_amount": {},
        "remarks": [
          "BOOKED BY BAOBAO100383@GMAIL.COM - 2025-10-24T10:46:10.000Z"
        ],
        "total_count": 1
      }
    }
  },
  "errors": null
}

# Top - Level (response)

Thuộc tính Kiểu dữ liệu Mô tả Ví dụ
statusCode Integer Mã trạng thái HTTP 200
timestamp String (ISO 8601) Thời điểm phản hồi "2025-10-24T10:20:30Z"
path String Đường dẫn API "/api/v1/bamboo/flight/confirm-price"
message String Thông báo chung "Confirm successful"
data Object Khối dữ liệu chi tiết —
errors Array<Object> | null Danh sách lỗi nếu có null

# data – Dữ liệu từ Bamboo

Thuộc tính Kiểu dữ liệu Mô tả
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 chi tiết sau khi xác nhận
total_count Integer Tổng số bản ghi/kết quả

# data.data – Thông tin chi tiết xác nhận

Thuộc tính Kiểu dữ liệu Mô tả
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
number_of_seats Integer Số ghế
itinerary Array<Object> Danh sách chặng bay
guest_details Array<Object> Danh sách hành khách
ssr_details Array<Object> Dịch vụ bổ sung (SSR)
seat_details Array<Object> Ghế đã chọn
fee_details Object | null Chi tiết phí bổ sung
emd_deposits Array<Object> EMD/phiếu thu kèm theo
pnr_contact Object Thông tin liên hệ PNR
itin_price Object Thông tin giá hành trình
total_amount_paid Object Tổng đã thanh toán
total_amount_tobe_paid Object Tổng tiền phải thanh toán
time_limit_detail Object Hạn giữ chỗ/ra vé
refund_amount Object Thông tin hoàn tiền
remarks Array<String> Ghi chú hệ thống

# data.data.itinerary[] – Chặng bay

Thuộc tính Kiểu dữ liệu Mô tả
flight_segment_group_id Integer ID nhóm chặng
segment_id Integer ID chặng
carrier_code String (IATA-2) Mã hãng bay
flight_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 Hạng khoang
flight_status String Tình trạng chặng
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[] – Thông tin hành khách

Thuộc tính Kiểu dữ liệu Mô tả
given_name String Tên khách
sur_name String Họ khách
name_prefix String Xưng hô
type String (ADULT/CHILD/INFANT) Loại khách
guest_id Integer ID khách
ticket_details Array<Object> Chi tiết vé/coupon

# guest_details[].ticket_details[].coupon_details[] – Hành lý

Thuộc tính Kiểu dữ liệu Mô tả
baggage_allowance_weight String Khối lượng hành lý
baggage_allowance_unit String Đơn vị (K = kilogram)
segment_id Integer ID chặng áp dụng

# data.data.pnr_contact – Thông tin liên hệ

Thuộc tính Kiểu dữ liệu Mô tả
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ệ

# pnr_contact.address

Thuộc tính Kiểu dữ liệu Mô tả
email String (email) Email liên hệ
phone_number String Số điện thoại

# data.data.itin_price – Giá hành trình

Thuộc tính Kiểu dữ liệu Mô tả
guest_price_break_down Array<Object> Chi tiết giá theo từng khách

# itin_price.guest_price_break_down[]

Thuộc tính Kiểu dữ liệu Mô tả
price_break_down Array<Object> Thành phần giá
tax Array<Object> Thuế/phụ phí
guest_type String (ADULT/CHILD/INFANT) Loại khách

# price_break_down[]

Thuộc tính Kiểu dữ liệu Mô tả
applied_fare_detail_type Object Nhóm giá & tiền tệ
fare_detail_for_guest_type Array<Object> Thông tin hạng vé
total_tax Object Tổng thuế

# applied_fare_detail_type

Thuộc tính Kiểu dữ liệu Mô tả
base_fare Number Giá cước gốc
base_fare_currency String (ISO-4217) Tiền tệ gốc
applied_fare Number Giá áp dụng
display_fare_amount Number Giá hiển thị
currency String (ISO-4217) Tiền tệ hiển thị

# fare_detail_for_guest_type[]

Thuộc tính Kiểu dữ liệu Mô tả
fare_basis String Fare basis code
fare_type String Brand/loại giá
segment_id Integer | Array<Integer> ID chặng áp dụng
fare_component_id Integer ID thành phần giá

# tax[]

Thuộc tính Kiểu dữ liệu Mô tả
code String Mã thuế/phụ phí
amount Number Số tiền
currency String (ISO-4217) Tiền tệ
iata_code String Mã IATA

# data.data.total_amount_paid & total_amount_tobe_paid

Thuộc tính Kiểu dữ liệu Mô tả
currency String (ISO-4217) Tiền tệ tổng
amount Number Tổng tiền
guest_amount Array<Object> Theo từng khách

# total_amount_tobe_paid.guest_amount[]

Thuộc tính Kiểu dữ liệu Mô tả
guest_id Integer ID khách
amount Number Số tiền phải trả
currency String (ISO-4217) Tiền tệ
guest_type String (ADULT/CHILD/INFANT) Loại khách

This site uses cookies to learn which topics interest our readers.