Pre-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 trước khi đặt Bamboo Airways.

# 2. Hướng dẫn sử dụng

  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ả confirm.
  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)

# 3. Request Body

# 3.1 Ví dụ Request Body

{
  "pax_types": [
    {
      "type": "ADULT",
      "count": 1
    }
  ],
  "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"
    }
  ],
  "trip_type": "OW",
  "point_of_purchase": "VND",
  "air_booking_id": "FLN202510241044561761277496445323734"
}

# pax_types

Thuộc tính Kiểu dữ liệu Mô tả
pax_types 'array<object>' Danh sách loại khách và số lượng.
pax_types[].type 'string (enum)' Loại khách: ADULT/CHILD/INFANT…
pax_types[].count 'number (integer)' Số lượng của loại khách tương ứng.

# itinerary_details – ItineraryDetailDto

Thuộc tính Kiểu dữ liệu Mô tả
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.
itinerary_details[].segment_id 'number (integer)' ID đoạn chuyến bay.
itinerary_details[].flight_number 'number \| string' Số hiệu chuyến bay.
itinerary_details[].flight_date 'string (YYYY-MM-DD)' Ngày bay.
itinerary_details[].board_point 'string (IATA-3)' Sân bay đi.
itinerary_details[].off_point 'string (IATA-3)' Sân bay đến.
itinerary_details[].booking_class 'string' Hạng đặt chỗ.
itinerary_details[].carrier_code 'string (IATA-2)' Mã hãng bay.
itinerary_details[].fare_basis 'string' Cơ sở giá vé (fare basis code).

# Trường khác

Thuộc tính Kiểu dữ liệu Mô tả
trip_type 'string (enum)' Loại chuyến bay (OW/RT/MC…).
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.
air_booking_id 'string' ID đặt chỗ bay.

# 5. Response

# 5.1 Ví dụ Response

{
  "StatusCode": 200,
  "Timestamp": "2025-10-24T03:47:21.907Z",
  "Path": "/api/v1/bamboo/flight/pre-confirm-price",
  "Message": "Xác nhận giá vé trước khi đặt Bamboo Airways thành công",
  "Data": {
    "Error": null,
    "pnr_on_hold": false,
    "last_modified_datetime": "",
    "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",
        "booking_class": "N",
        "fare_basis": "NES0F",
        "is_international": false
      }
    ],
    "ssr_details": null,
    "seat_details": null,
    "fee_details": null,
    "emd_deposits": null,
    "pnr_contact": {
      "address": null,
      "name_prefix": "",
      "language": "",
      "sur_name": "",
      "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": 0,
              "total_tax": {},
              "tax": [
                {
                  "code": "YR",
                  "amount": 440000,
                  "currency": "",
                  "iata_code": "VB"
                },
                {
                  "code": "AX",
                  "amount": 99000,
                  "currency": "",
                  "iata_code": "DP"
                },
                {
                  "code": "C4",
                  "amount": 20000,
                  "currency": "",
                  "iata_code": ""
                },
                {
                  "code": "UE",
                  "amount": 100000,
                  "currency": "",
                  "iata_code": "TI"
                },
                {
                  "code": "UE",
                  "amount": 36000,
                  "currency": "",
                  "iata_code": "XX"
                }
              ],
              "guest_type": "ADULT"
            }
          ]
        }
      ],
      "total_amount_tobe_paid": {
        "currency": "VND",
        "amount": 1944000,
        "guest_amount": [
          {
            "guest_id": 1,
            "amount": 1944000,
            "currency": "VND",
            "guest_type": "ADULT"
          }
        ]
      },
      "refund_amount": {},
      "Success": true,
      "Id": "FLN202510241044561761277496445323734",
      "Message": [
        {
          "message": "Thành công!"
        }
      ],
      "TotalCount": 1
    }
  },
  "Errors": null,
  "RequestId": "1761277640408-pqr-h2o"
}

# 5.2 Response (top-level)

Thuộc tính Kiểu dữ liệu Mô tả
'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ó.
'RequestId' 'string' ID yêu cầu.

# Data

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 (nếu có).
'itinerary' 'array<object>' Danh sách chặng bay.
'ssr_details' 'array<object> \| null' Dịch vụ bổ sung (nếu có).
'seat_details' 'array<object> \| null' Dịch vụ chọn ghế (nếu có).
'fee_details' 'object \| null' Chi tiết phí bổ sung (nếu có).
'emd_deposits' 'array<object> \| null' 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.
'total_amount_tobe_paid' 'object' Tổng tiền phải thanh toán.
'refund_amount' 'object' Thông tin hoàn tiền (nếu có).
'Success' 'boolean' Trạng thái thành công của thao tác.
'Id' 'string' ID truy vết/yêu cầu.
'Message' 'array<object>' Danh sách thông điệp chi tiết.
'TotalCount' 'number (integer)' Tổng số bản ghi/kết quả.

# Data.itinerary[]

Thuộc tính Kiểu dữ liệu Mô tả
'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.
'booking_class' 'string' Hạng đặt chỗ.
'fare_basis' 'string' Fare basis code.
'is_international' 'boolean' Chặng quốc tế hay nội địa.

# Data.pnr_contact

Thuộc tính Kiểu dữ liệu Mô tả
'address' 'object \| null' Địa chỉ liên hệ (email/điện thoại).
'name_prefix' 'string' Xưng hô người liên hệ.
'language' 'string' Ngôn ngữ ưu tiên.
'sur_name' 'string' Họ người liên hệ.
'given_name' 'string' Tên người liên hệ.

# Data.itin_price

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.

# Data.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í theo khách.
'guest_type' 'string (enum)' Loại khách.

# Data.itin_price.guest_price_break_down[].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é theo loại khách.
'total_tax' 'object' Tổng thuế (nếu có).

# 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ả
'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.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ả
'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.itin_price.guest_price_break_down[].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' Tiền tệ (có thể rỗng trong mẫu).
'iata_code' 'string' Mã IATA/nhà nước (theo hệ thống trả về).

# Data.total_amount_tobe_paid

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

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

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