Create basic reservation.

# 1. Tổng quan

  • Action URL: /api/v1/vj/flight/reservation - basic

  • Đặc tả chi tiết: Swagger UI (opens new window)

  • Tính năng: cho phép API tạo giữ chỗ cơ bản cho chuyến bayn Vietjet Air

  • Điều kiện: Chỉ áp dụng cho tài khoản có quyền truy cập hợp lệ.


# 2. Hướng dẫn

  • Bước 1: Xây dựng request với đầy đủ header và body
  • Bước 2: Gửi request POST tới Action URL
  • Bước 3: Nhận về response chứa danh sách các dịch vụ bổ sung cho nhiều booking

# 3. Request

# 3.1 Ví dụ

{
  "bookingInformation": {
    "contactInformation": {
      "name": "Business Name",
      "phoneNumber": "+84987654222",
      "extension": "123",
      "email": "abc@gmail.com",
      "language": {
        "href": "/languages/en",
        "code": "en",
        "name": "English"
      }
    }
  },
  "passengers": [
    {
      "index": 1,
      "fareApplicability": {
        "child": false,
        "adult": true
      },
      "reservationProfile": {
        "lastName": "Pham",
        "firstName": "Quang Minh",
        "title": "Mr",
        "gender": "Male",
        "birthDate": "1985-03-12",
        "personalContactInformation": {
          "phoneNumber": "",
          "mobileNumber": "0905111222",
          "email": "minhpham@example.com"
        }
      }
    }
  ],
  "journeys": [
    {
      "index": 1,
      "passengerJourneyDetails": [
        {
          "passenger": {
            "index": 1
          },
          "segment": null,
          "bookingKey": "nlBxOkrƒeWPjoL8DOWVTrSSMIRxvqAwAFKZpI1MQFZPWƒNGuZJElSP4Gl2qOREIS5RXV¥AHFGCPiLN8clSLDSxmyGm2yDqToGbfPbf5ptnEM4gAdMnM2PEdT ...",
          "reservationStatus": {
            "confirmed": true,
            "waitlist": false,
            "standby": false,
            "cancelled": false,
            "open": false,
            "finalized": false,
            "external": false
          }
        }
      ]
    }
  ],
  "paymentTransactions": [
    {
      "paymentMethod": {
        "href": "https://vietjet-api.intelisystraining.ca/RESTv1/paymentMethods/tfCeB5%C2%A5mircWvs2C4HkDdOXNJf%C6%92NFOopDW2yQCBh2p1rOTwFA5LN6VUgknLR%C2%A5uSRURzqRAo79Q%C2%A5yB9ni61HUMA==",
        "key": "tfCeB5¥mircWvs2C4HkDdOXNJfƒNFOopDW2yQCBh2p1rOTwFA5LN6VUgknLR¥uSRURzqRAo79Q¥yB9ni61HUMA==",
        "identifier": "PL",
        "description": "Pay Later"
      },
      "paymentMethodCriteria": {
        "thirdParty": {
          "clientIP": "118.70.168.28",
          "language": {
            "code": "en"
          }
        },
        "applicationIdentifier": "",
        "redirectURL": "",
        "postURL": "",
        "postData": "",
        "reference": "",
        "account": {
          "company": {
            "key": "AozgTRmbFSmsfRtwtRLfhtfveKseXDpGLFRvaCM7zVE=",
            "account": {
              "accountNumber": "34101989",
              "creditLimit": 0,
              "creditAvailable": 97412989333.83,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              }
            }
          }
        }
      },
      "currencyAmounts": [
        {
          "totalAmount": 3953200,
          "currency": {
            "code": "VND"
          }
        }
      ]
    }
  ]
}

# 3.2 Cấu trúc dữ liệu Request

Trường Mô tả Kiểu dữ liệu Bắt buộc Ghi chú
bookingInformation Thông tin liên hệ và ngôn ngữ đặt chỗ object Có Gồm người liên hệ
bookingInformation.contactInformation.name Tên doanh nghiệp hoặc người liên hệ string Có VD: “Business Name”
bookingInformation.contactInformation.phoneNumber Số điện thoại liên hệ string Có Gồm mã quốc gia
bookingInformation.contactInformation.extension Số nội bộ string Không VD: “123”
bookingInformation.contactInformation.email Email liên hệ string Có Dùng nhận vé, biên lai
bookingInformation.contactInformation.language.href Đường dẫn ngôn ngữ string Không /languages/en
bookingInformation.contactInformation.language.code Mã ngôn ngữ string Có en
bookingInformation.contactInformation.language.name Tên ngôn ngữ string Có English
passengers Danh sách hành khách array<object> Có Một hoặc nhiều hành khách
passengers.index Số thứ tự hành khách integer Có 1, 2, 3...
passengers.fareApplicability.child Là trẻ em boolean Có true/false
passengers.fareApplicability.adult Là người lớn boolean Có true/false
passengers.reservationProfile.lastName Họ hành khách string Có VD: “Pham”
passengers.reservationProfile.firstName Tên hành khách string Có VD: “Quang Minh”
passengers.reservationProfile.title Danh xưng string Có Mr / Ms / Mrs
passengers.reservationProfile.gender Giới tính string Có Male / Female
passengers.reservationProfile.birthDate Ngày sinh string (ISO) Có YYYY-MM-DD
passengers.reservationProfile.personalContactInformation.phoneNumber Số điện thoại string Không -
passengers.reservationProfile.personalContactInformation.mobileNumber Số di động string Có -
passengers.reservationProfile.personalContactInformation.email Email cá nhân string Không -
journeys Danh sách hành trình bay array<object> Có Gồm chặng & hành khách
journeys.index Thứ tự hành trình integer Có 1, 2, 3...
journeys.passengerJourneyDetails.passenger.index Số thứ tự hành khách integer Có Liên kết với passengers
journeys.passengerJourneyDetails.segment Thông tin chặng object/null Có Null nếu dùng bookingKey
journeys.passengerJourneyDetails.bookingKey Mã khóa đặt chỗ string Có Từ API tìm kiếm vé
journeys.passengerJourneyDetails.reservationStatus.confirmed Đã xác nhận boolean Có -
journeys.passengerJourneyDetails.reservationStatus.waitlist Danh sách chờ boolean Có -
journeys.passengerJourneyDetails.reservationStatus.standby Đang chờ boolean Có -
journeys.passengerJourneyDetails.reservationStatus.cancelled Bị hủy boolean Có -
journeys.passengerJourneyDetails.reservationStatus.open Mở boolean Có -
journeys.passengerJourneyDetails.reservationStatus.finalized Hoàn tất boolean Có -
journeys.passengerJourneyDetails.reservationStatus.external Đặt qua bên thứ 3 boolean Có -
paymentTransactions Thông tin thanh toán array<object> Có Gồm phương thức, tiền, tài khoản
paymentTransactions.paymentMethod.href Đường dẫn phương thức thanh toán string Có -
paymentTransactions.paymentMethod.key Mã định danh phương thức string Có -
paymentTransactions.paymentMethod.identifier Mã rút gọn string Có VD: PL (Pay Later)
paymentTransactions.paymentMethod.description Mô tả phương thức thanh toán string Có -

# 4. Response

# 4.1 Ví dụ

{
  "statusCode": 200,
  "timestamp": "2025-10-28T03:49:30.198Z",
  "path": "/api/v1/vj/flight/reservation-basic",
  "message": "Tạo giữ chỗ thành công",
  "data": {
    "success": true,
    "reservationId": "RES1761623354765",
    "bookingReference": "WJ6HB7",
    "message": "Reservation created successfully",
    "Booking": {
      "key": "AKqlh8tSfnQBx7rF3¥xvOvtn8IVEnND8Dim4HE2QQuUzi1TKTbYSjoIX7zk26IXLniP9hkDpF¥ZKyy8pMobIUg==",
      "number": 187857320,
      "locator": "WJ6HB7",
      "directParentReservation": null,
      "subsidiaryReservations": null,
      "bookingInformation": {
        "key": "cmeXGƒ1QIE8CvEPsyQVZlƒxfmbHDRazBh8J¥0Nwy5HA0FgZrlF6MqCtY¥e¥¥EKBd8MT0YEDB3htzZGToeeWBhikƒ4Wz3CosP34RLfc2uY4K88xk2Fxmdqsj73jYUz¥eK",
        "sessionIdentifier": "apiW184231bc-a8eb-4ea7-960f-74f99111ccd0",
        "distributionChannel": {
          "identifier": "W",
          "description": "Web"
        },
        "externalLocators": null,
        "agency": {
          "key": "AzVnjosPcrHsLOeZtGS9XrnE6FHLhlZKkLkw7a5NbAw=",
          "iataNumber": "34101989",
          "name": "APIGW OTA TESTING"
        },
        "company": {
          "key": "AozgTRmbFSmsfRtwtRLfhtfveKseXDpGLFRvaCM7zVE=",
          "identifier": "34101989",
          "name": "APIGW OTA TESTING"
        },
        "currency": {
          "code": "VND",
          "description": "Vietnam Dong"
        },
        "contactInformation": {
          "name": "Business Name",
          "phoneNumber": "+84987654222",
          "extension": "123",
          "email": "abc@gmail.com",
          "language": {
            "code": "en",
            "name": "English"
          },
          "notificationPreferences": null
        },
        "creation": {
          "time": "2025-10-28 03:49:00Z"
        },
        "hold": {
          "overridden": false,
          "expiryTime": "2025-10-28 07:49:00Z"
        },
        "cancellation": null,
        "lock": null,
        "bookingType": {
          "eticketed": false,
          "groupReserved": false,
          "frequentFlyerRedeemed": false
        },
        "frequentFlyer": null,
        "notes": "",
        "groupName": "",
        "timestamp": "AAAAFa4SYhw=",
        "activeQueueSubItems": null,
        "creditExpiryDate": "2027-10-28 03:49:00Z"
      },
      "passengers": [
        {
          "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE=",
          "reference": "JYJ5KABIQH",
          "reservationOwner": true,
          "reservationStatus": {
            "confirmed": true,
            "cancelled": false
          },
          "fareApplicability": {
            "adult": true,
            "child": false
          },
          "passengerTypeCode": {
            "code": "ADT"
          },
          "reservationProfile": {
            "lastName": "PHAM",
            "firstName": "QUANG MINH",
            "middleName": "",
            "title": "Mr",
            "gender": "Male",
            "address": {
              "address1": "",
              "address2": "",
              "city": "",
              "location": null,
              "postalCode": ""
            },
            "birthDate": "1985-03-12",
            "nationCountry": null,
            "personalContactInformation": {
              "phoneNumber": "",
              "mobileNumber": "0905111222",
              "email": "minhpham@example.com",
              "language": {
                "code": "vi",
                "name": "Vietnamese"
              },
              "notificationPreferences": null
            },
            "businessContactInformation": {
              "phoneNumber": "",
              "faxNumber": "",
              "extension": ""
            },
            "destinationContactInformation": null,
            "passport": null,
            "loyaltyProgram": null,
            "preBoard": false,
            "status": {
              "active": true,
              "inactive": false,
              "denied": false
            },
            "reference1": "",
            "reference2": "",
            "notes": ""
          },
          "frequentFlyer": null,
          "advancePassengerInformation": null,
          "passengerServiceRequests": [
            {
              "key": "WwXcehUljtnq4kkeHJJtCdFVMxadqjjHTJqOs2CmdXPppSGe¥wZbkPbm3BBUiBAkG5VTt6TƒdDJivoPITS9HWuw48wAVeS¥gS1Xq8YikDQBxkiB1T3Tn9LRAUjSrRf4o",
              "serviceRequest": {
                "key": "VCdctXmbmONuG8B3JRwIg8NQZSNToP1hX95YJL3oiAs=",
                "code": "CBFS"
              },
              "notes": "",
              "journeys": [
                {
                  "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
                }
              ],
              "journeySegments": [
                {
                  "key": "SVdwUAdwphLƒjJw9rVQL8TOJD0jugWc¥762Y6xQyUPOvWP0YGaLH¥QKvAƒIqIwZd0ƒrpcSxZqCqdCVa3JfESfA=="
                }
              ],
              "timestamp": "AAAAFa4SYiA="
            }
          ],
          "passengerCostCenter": null,
          "infants": [],
          "passengerGdsNameGroup": null,
          "weight": null,
          "notes": "",
          "timestamp": "AAAAFa4SYiI="
        }
      ],
      "journeys": [
        {
          "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw=",
          "departure": {
            "scheduledTime": "2025-11-08 23:00:00Z",
            "localScheduledTime": "2025-11-09 06:00:00",
            "airport": {
              "code": "HAN",
              "name": "Ha Noi",
              "utcOffset": {
                "iso": "+07:00",
                "hours": 7,
                "minutes": 420
              }
            },
            "terminal": null
          },
          "segments": [
            {
              "key": "SVdwUAdwphLƒjJw9rVQL8TOJD0jugWc¥762Y6xQyUPOvWP0YGaLH¥QKvAƒIqIwZd0ƒrpcSxZqCqdCVa3JfESfA==",
              "flight": {
                "key": "PPqvYGw83Xp¥7VtFay¥QwL4YTSPHT0w9jSK7mujB7b8=",
                "airlineCode": {
                  "code": "VJ"
                },
                "flightNumber": "121",
                "operatingPartnerCarrier": null,
                "operatingPartnerFlightNumber": "",
                "aircraftModel": {
                  "key": "2Qx¥GKVsZ08KvxdDQkIEb2UIgtzsXA¥nTWPjXFRE9io=",
                  "identifier": "321",
                  "name": "321"
                }
              },
              "departure": {
                "scheduledTime": "2025-11-08 23:00:00Z",
                "localScheduledTime": "2025-11-09 06:00:00",
                "airport": {
                  "code": "HAN",
                  "name": "Ha Noi",
                  "utcOffset": {
                    "iso": "+07:00",
                    "hours": 7,
                    "minutes": 420
                  }
                },
                "terminal": null
              },
              "arrival": {
                "scheduledTime": "2025-11-09 01:10:00Z",
                "localScheduledTime": "2025-11-09 08:10:00",
                "airport": {
                  "code": "SGN",
                  "name": "Ho Chi Minh",
                  "utcOffset": {
                    "iso": "+07:00",
                    "hours": 7,
                    "minutes": 420
                  }
                },
                "terminal": {
                  "code": "T1",
                  "name": "1"
                }
              },
              "legs": [
                {
                  "key": "j9EƒkZLf6DQkƒa8DWaƒ5IExWFboxFAj¥bevcL4QOkk8UJ0rPxd29ib9MkuuLlHpS",
                  "departure": {
                    "scheduledTime": "2025-11-08 23:00:00Z",
                    "localScheduledTime": "2025-11-09 06:00:00",
                    "airport": {
                      "code": "HAN",
                      "name": "Ha Noi",
                      "utcOffset": {
                        "iso": "+07:00",
                        "hours": 7,
                        "minutes": 420
                      }
                    },
                    "terminal": null
                  },
                  "arrival": {
                    "scheduledTime": "2025-11-09 01:10:00Z",
                    "localScheduledTime": "2025-11-09 08:10:00",
                    "airport": {
                      "code": "SGN",
                      "name": "Ho Chi Minh",
                      "utcOffset": {
                        "iso": "+07:00",
                        "hours": 7,
                        "minutes": 420
                      }
                    },
                    "terminal": {
                      "code": "T1",
                      "name": "1"
                    }
                  }
                }
              ],
              "reservationStatus": {
                "cancelled": false,
                "open": false,
                "finalized": false,
                "external": false,
                "disrupted": false
              }
            }
          ],
          "passengerJourneyDetails": [
            {
              "key": "WwXcehUljtnq4kkeHJJtCeTJQƒ6dGw5eVhETAo3erc¥VlEAFlQNxbR2n06RFjTAvweXyZZH2YPBeT8zU0OeBiGXw5c3GSIRn3wctvUH1g3g¥pypeOnXuexLjƒ0QkD0Bw",
              "passenger": {
                "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
              },
              "segment": null,
              "bookingKey": "nlBxOkrƒeWPjoL8DOWVTrSSMIRxvqAwAFKZpI1MQFZPWƒNGuZJElSP4Gl2qOREIS5RXV¥AHFGCPiLN8c ...",
              "fareClass": {
                "key": "wb4xb3F9Evee1nOH8bSvfcwi2IV1nwX61XfbWwY6pQc=",
                "code": "W1_ECO",
                "description": "Eco1"
              },
              "bookingCode": {
                "code": "W",
                "description": "Eco"
              },
              "cabinClass": {
                "code": "Y",
                "description": "Economy"
              },
              "realizedRevenue": false,
              "shuttle": false,
              "privateFares": false,
              "ticketNumber": "",
              "notes": "",
              "reservationStatus": {
                "confirmed": true,
                "waitlist": false,
                "standby": false,
                "cancelled": false,
                "open": false,
                "finalized": false,
                "external": false
              },
              "timestamp": "AAAAFa4SYbE="
            }
          ],
          "reservationStatus": {
            "cancelled": false,
            "open": false,
            "finalized": false,
            "external": false,
            "disrupted": false
          }
        }
      ],
      "insurancePolicies": null,
      "ancillaryPurchases": [
        {
          "key": "fooK3HK2KMX94qPzJoQ4uwWedZrjrlQ4I9Et4DiauWngmcsTtRSvNZoeGjZXzQ4h5DhczEAAE8T3pkqhk1wyUBwhB7Dny8Z946oJbxY9ƒJU=",
          "purchaseKey": "yq2CZ1dVlybyxQETDp1D5X94m3Iu0¥ƒIdNy3tSRzghpEx01aoOAdDnDO6LXWuss6cZƒrTKZ2TZgFwTw6AaTxfvLmrKvh6BGjZSRKFc4S9KY=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "requirementLocation": {
            "date": "2025-11-09",
            "airport": null,
            "cityPair": {
              "identifier": "HAN-SGN"
            },
            "flight": null
          },
          "ancillaryItem": {
            "key": "eU9Fu4zikmtsn4VBXmWLNCOwƒWz2Z2sDz9bzbFGFQqI=",
            "name": "Cabin Bag 7k",
            "ancillaryCategory": {
              "key": "JwSyxxbv9z51Gcƒw6TjYlAAD2ePIQezLmDqzIS7olDk=",
              "name": "Free Service",
              "external": false
            },
            "serviceRequest": {
              "key": "VCdctXmbmONuG8B3JRwIg8NQZSNToP1hX95YJL3oiAs=",
              "code": "CBFS"
            },
            "serviceRequestNote": ""
          },
          "ancillaryRedemption": {
            "reference": "",
            "status": {
              "available": true,
              "redeemed": false
            }
          },
          "timestamp": "AAAAFa4SYh0="
        }
      ],
      "seatSelections": [],
      "passengerLegDetails": [
        {
          "key": "WwXcehUljtnq4kkeHJJtCQcPOa7UnYE200enh9XPtDpQMFX1o81CCYTQ8RbJUXQJ5PEcHjp2Dm7dGtHSEqniuaHCzqGc3aus8sCLIpCbyc76yjCx3d2wƒHjCsX6wGgNT",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "segment": {
            "key": "SVdwUAdwphLƒjJw9rVQL8TOJD0jugWc¥762Y6xQyUPOvWP0YGaLH¥QKvAƒIqIwZd0ƒrpcSxZqCqdCVa3JfESfA=="
          },
          "leg": {
            "key": "j9EƒkZLf6DQkƒa8DWaƒ5IExWFboxFAj¥bevcL4QOkk8UJ0rPxd29ib9MkuuLlHpS"
          },
          "reservationStatus": {
            "confirmed": true,
            "waitlist": false,
            "standby": false,
            "cancelled": false,
            "finalized": false,
            "external": false
          },
          "travelStatus": {
            "notCheckedIn": true,
            "checkedIn": false,
            "boarded": false,
            "noshow": false
          },
          "boardingSequenceNumber": null,
          "thru": false,
          "timestamp": "AAAAFa4SYbM="
        }
      ],
      "charges": [
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmpDjfW3O¥ƒsXH2ƒLhG0GƒSeJ0F0dD9Rq5sGLƒwT5¥qEA=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "W1_ECO - Eco1",
          "chargeType": {
            "code": "FA",
            "description": "Fare",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": null,
          "seatSelection": null,
          "infant": null,
          "fareClass": {
            "key": "wb4xb3F9Evee1nOH8bSvfcwi2IV1nwX61XfbWwY6pQc=",
            "code": "W1_ECO"
          },
          "bookingKey": "vGpcreI82HpY1UNRPBqiXWWieJQWb0bUP7DqvjKwHfhlFimxyYh9w4VIYKKbAbv8j3tOKhcaaNcf67R2oMZpWuFq1mUbU5wi8hUzUcKBR7K46yMYqLPqDruQYvgRx2znQtLK1zp8USEqcQVkLneScw==",
          "surcharge": null,
          "currencyAmounts": [
            {
              "baseAmount": 962000,
              "discountAmount": 0,
              "taxAmount": 77000,
              "taxRateAmounts": [
                {
                  "name": "Tax 1",
                  "amount": 77000
                }
              ],
              "totalAmount": 1039000,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 961200,
              "currency": {
                "code": "NUC",
                "description": "NUC"
              },
              "exchangeRate": 1
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUgDwg¥kIHoP6vG¥b6KGX1xM=",
            "name": "VAT8"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYgI="
        },
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmW8p7G7brDnVKWX63QQWdLiNPZ3u8q4FbzhƒVIa¥8wAc=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "Airport Tax Domestic",
          "chargeType": {
            "code": "AI",
            "description": "Airport Improvement Fund",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": null,
          "seatSelection": null,
          "infant": null,
          "fareClass": null,
          "bookingKey": null,
          "surcharge": {
            "key": "X2fXNzLhG1ZdI6mgOVBri8ETHP1¥z0ESQynMzbzZtIw=",
            "identifier": "AXD",
            "description": "Airport Tax Domestic"
          },
          "currencyAmounts": [
            {
              "baseAmount": 107000,
              "discountAmount": 0,
              "taxAmount": 0,
              "taxRateAmounts": [],
              "totalAmount": 107000,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 99000,
              "currency": {
                "code": "NUC",
                "description": "NUC"
              },
              "exchangeRate": 1
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUiA1mqklQBHwTGLN3bf3CMs=",
            "name": "TAX EXEMPT"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYgM="
        },
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmHXC7GODJ42bc3qaFB0cteMQ0LJOtOHk¥WO6VcDkgmrc=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "Airport Security",
          "chargeType": {
            "code": "AS",
            "description": "Airport Security Scan",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": null,
          "seatSelection": null,
          "infant": null,
          "fareClass": null,
          "bookingKey": null,
          "surcharge": {
            "key": "X2fXNzLhG1ZdI6mgOVBri7bCnzberNu3WpKckcRZOT8=",
            "identifier": "AS",
            "description": "Airport Security"
          },
          "currencyAmounts": [
            {
              "baseAmount": 21700,
              "discountAmount": 0,
              "taxAmount": 0,
              "taxRateAmounts": [],
              "totalAmount": 21700,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 20000,
              "currency": {
                "code": "NUC",
                "description": "NUC"
              },
              "exchangeRate": 1
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUiA1mqklQBHwTGLN3bf3CMs=",
            "name": "TAX EXEMPT"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYgQ="
        },
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmYBHSD11kiK1¥IWreC4Cqmze03JHX0ogQFHWuƒzoCJzg=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "Admin Fee Domestic",
          "chargeType": {
            "code": "AM",
            "description": "Admin Fee",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": null,
          "seatSelection": null,
          "infant": null,
          "fareClass": null,
          "bookingKey": null,
          "surcharge": {
            "key": "X2fXNzLhG1ZdI6mgOVBrixqhƒC65iPmepw¥2dlis6¥w=",
            "identifier": "AFD",
            "description": "Admin Fee Domestic"
          },
          "currencyAmounts": [
            {
              "baseAmount": 232300,
              "discountAmount": 0,
              "taxAmount": 18600,
              "taxRateAmounts": [
                {
                  "name": "Tax 1",
                  "amount": 18600
                }
              ],
              "totalAmount": 250900,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 232200,
              "currency": {
                "code": "NUC",
                "description": "NUC"
              },
              "exchangeRate": 1
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUgDwg¥kIHoP6vG¥b6KGX1xM=",
            "name": "VAT8"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYgU="
        },
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmnJtWSZHT797OF3XlfRNe4oS0WuETP0NWnW9ikbIbN2s=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "Management Fee Domestic",
          "chargeType": {
            "code": "MF",
            "description": "Management Fee",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": null,
          "seatSelection": null,
          "infant": null,
          "fareClass": null,
          "bookingKey": null,
          "surcharge": {
            "key": "X2fXNzLhG1ZdI6mgOVBri34PdCrKbRzAYAvtMR5Qkaw=",
            "identifier": "MF",
            "description": "Management Fee Domestic"
          },
          "currencyAmounts": [
            {
              "baseAmount": 232300,
              "discountAmount": 0,
              "taxAmount": 18600,
              "taxRateAmounts": [
                {
                  "name": "Tax 1",
                  "amount": 18600
                }
              ],
              "totalAmount": 250900,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 232200,
              "currency": {
                "code": "NUC",
                "description": "NUC"
              },
              "exchangeRate": 1
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUgDwg¥kIHoP6vG¥b6KGX1xM=",
            "name": "VAT8"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYgY="
        },
        {
          "key": "Hm4kRrUOQubXzfVX9qNB4M65jczQrlSsGjo016vWCZX96KvƒPuAf0WLOlFfIpzRmQX7XmTNmƒGqVif7T1apLqsV3hUEKC8Co0JAcClvZSmo=",
          "passenger": {
            "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
          },
          "journey": {
            "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
          },
          "chargeTime": "2025-10-28 03:49:00Z",
          "description": "Add Ons(1) - Cabin Bag 7k",
          "chargeType": {
            "code": "SR",
            "description": "SSR",
            "feeCategory": null,
            "index": 0
          },
          "ancillaryPurchase": {
            "key": "fooK3HK2KMX94qPzJoQ4uwWedZrjrlQ4I9Et4DiauWngmcsTtRSvNZoeGjZXzQ4h5DhczEAAE8T3pkqhk1wyUBwhB7Dny8Z946oJbxY9ƒJU=",
            "purchaseKey": "yq2CZ1dVlybyxQETDp1D5X94m3Iu0¥ƒIdNy3tSRzghpEx01aoOAdDnDO6LXWuss6cZƒrTKZ2TZgFwTw6AaTxfvLmrKvh6BGjZSRKFc4S9KY=",
            "passenger": {
              "key": "WwXcehUljtnq4kkeHJJtCT18T6U9OBZdUiYwTLrQANwzYoL8JIiqn0lG3WWHm8kbNkY3DGUHKA1RƒWX¥cFCSGPof2WCeeDcn01cqxLWZUJE="
            },
            "journey": {
              "key": "3j0CrSXmjkCS2yH4ciTA3ZhKB9dlƒsvoelrOBy4Fs9cJc4M7jHbrCfOO3jM0NWTTJUsKMg3EefYShGmQGEJC025KEyo21s5fbvmUi2i53Zw="
            },
            "requirementLocation": {
              "date": "2025-11-09",
              "airport": null,
              "cityPair": {
                "identifier": "HAN-SGN"
              },
              "flight": null
            },
            "ancillaryItem": {
              "key": "eU9Fu4zikmtsn4VBXmWLNCOwƒWz2Z2sDz9bzbFGFQqI=",
              "name": "Cabin Bag 7k",
              "ancillaryCategory": {
                "key": "JwSyxxbv9z51Gcƒw6TjYlAAD2ePIQezLmDqzIS7olDk=",
                "name": "Free Service",
                "external": false
              },
              "serviceRequest": {
                "key": "VCdctXmbmONuG8B3JRwIg8NQZSNToP1hX95YJL3oiAs=",
                "code": "CBFS"
              },
              "serviceRequestNote": ""
            },
            "ancillaryRedemption": {
              "reference": "",
              "status": {
                "available": true,
                "redeemed": false
              }
            }
          },
          "seatSelection": null,
          "infant": null,
          "fareClass": null,
          "bookingKey": null,
          "surcharge": null,
          "currencyAmounts": [
            {
              "baseAmount": 0,
              "discountAmount": 0,
              "taxAmount": 0,
              "taxRateAmounts": [],
              "totalAmount": 0,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong"
              },
              "exchangeRate": 1.08000000003024
            }
          ],
          "taxConfiguration": {
            "key": "TCI54p3owhwgKKHNAwXBUgDwg¥kIHoP6vG¥b6KGX1xM=",
            "name": "VAT8"
          },
          "status": {
            "active": true,
            "historical": false,
            "pending": false
          },
          "discount": null,
          "refundable": true,
          "privateFares": false,
          "notes": "",
          "timestamp": "AAAAFa4SYhs="
        }
      ],
      "paymentTransactions": [
        {
          "key": null,
          "paymentTime": null,
          "description": null,
          "paymentMethod": {
            "key": "tfCeB5¥mircWvs2C4HkDdOXNJfƒNFOopDW2yQCBh2p1rOTwFA5LN6VUgknLR¥uSRURzqRAo79Q¥yB9ni61HUMA==",
            "identifier": "PL"
          },
          "paymentMethodCriteria": {},
          "currencyAmounts": [
            {
              "totalAmount": 3953200,
              "currency": {
                "code": "VND",
                "description": "Vietnam Dong",
                "baseCurrency": false
              },
              "exchangeRate": 1.08000000003024
            },
            {
              "totalAmount": 0,
              "currency": {
                "code": "NUC",
                "description": "NUC",
                "baseCurrency": true
              },
              "exchangeRate": 1
            }
          ],
          "payerDescription": null,
          "receiptNumber": null,
          "payments": null,
          "refundTransactions": null,
          "notes": null
        }
      ],
      "eTickets": [],
      "eMiscellaneousDocuments": []
    },
    "Summary": {
      "dealId": "69003d4b6ab1a425f",
      "invoiceId": "69003d4b7909febfb",
      "contactId": "68b15af0c9002d09b",
      "leadIds": [
        "69003d4b5a4f95a8c"
      ],
      "limitUpdated": true,
      "notesCreated": 0
    }
  },
  "errors": null
}

# 4.2 Cấu trúc dữ liệu Response

Tên trường Kiểu dữ liệu Mô tả Bắt buộc
statusCode number Mã trạng thái HTTP (200 nếu thành công). Có
timestamp string (ISO 8601) Thời điểm phản hồi được tạo. Có
path string Đường dẫn API. Có
message string Thông điệp phản hồi tổng quát. Có
data object Dữ liệu chính của phản hồi. Có
success boolean Trạng thái thực thi (true = thành công). Có
reservationId string Mã định danh nội bộ của giao dịch giữ chỗ. Có
bookingReference string Mã đặt chỗ (PNR code) hiển thị cho khách hàng. Có
message (trong data) string Thông tin phản hồi chi tiết. Có
Booking object Thông tin chi tiết booking. Có
Booking.key string Mã định danh bảo mật của booking. Có
Booking.number number Số định danh nội bộ. Có
Booking.locator string Mã đặt chỗ (PNR). Có
Booking.directParentReservation string/null Giữ chỗ cha (nếu có). Không
Booking.subsidiaryReservations array/null Danh sách giữ chỗ con. Không
bookingInformation object Thông tin chi tiết quá trình giữ chỗ. Có
bookingInformation.key string Mã định danh bảo mật. Có
bookingInformation.sessionIdentifier string Mã phiên giao dịch. Có
bookingInformation.distributionChannel object Kênh phân phối thực hiện đặt chỗ. Có
bookingInformation.distributionChannel.identifier string Mã kênh (VD: W = Web). Có
bookingInformation.distributionChannel.description string Mô tả kênh phân phối. Có
bookingInformation.agency object Đại lý thực hiện đặt vé. Có
bookingInformation.agency.key string Mã định danh bảo mật của đại lý. Có
bookingInformation.agency.iataNumber string Mã IATA của đại lý. Có
bookingInformation.agency.name string Tên đại lý. Có
bookingInformation.company object Thông tin công ty hoặc tổ chức liên quan. Có
bookingInformation.company.key string Mã bảo mật công ty. Có
bookingInformation.company.identifier string Mã công ty. Có
bookingInformation.company.name string Tên công ty. Có
bookingInformation.currency object Tiền tệ giao dịch. Có
bookingInformation.currency.code string Mã tiền tệ (VD: VND). Có
bookingInformation.currency.description string Tên tiền tệ đầy đủ. Có
bookingInformation.contactInformation object Thông tin liên hệ người đặt chỗ. Có
bookingInformation.contactInformation.name string Tên người liên hệ. Có
bookingInformation.contactInformation.phoneNumber string Số điện thoại liên hệ. Có
bookingInformation.contactInformation.extension string Số máy lẻ (nếu có). Không
bookingInformation.contactInformation.email string Email liên hệ. Có
bookingInformation.contactInformation.language object Ngôn ngữ liên hệ. Có
bookingInformation.contactInformation.language.code string Mã ngôn ngữ (VD: en). Có
bookingInformation.contactInformation.language.name string Tên ngôn ngữ. Có
bookingInformation.creation object Thời gian tạo booking. Có
bookingInformation.creation.time string (UTC) Thời điểm tạo giữ chỗ. Có
bookingInformation.hold object Thời gian giữ chỗ. Có
bookingInformation.hold.overridden boolean Có bị ghi đè hay không. Có
bookingInformation.hold.expiryTime string (UTC) Thời điểm hết hạn giữ chỗ. Có
bookingInformation.bookingType object Loại đặt vé. Có
bookingInformation.bookingType.eticketed boolean Vé điện tử. Có
bookingInformation.bookingType.groupReserved boolean Đặt theo nhóm. Có
bookingInformation.bookingType.frequentFlyerRedeemed boolean Dùng điểm hội viên. Có
bookingInformation.creditExpiryDate string (UTC) Thời hạn tín dụng. Có
bookingInformation.timestamp string Mã đồng bộ hệ thống. Có
bookingInformation.notes string Ghi chú nội bộ. Không
bookingInformation.groupName string Tên nhóm đặt vé (nếu có). Không

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