# Booking API

### Ticket Status Check API <a href="#ticket-status-check-api" id="ticket-status-check-api"></a>

POST: /api/air-tickets/revalidate

Check ticket availability before booking

#### Request Body <a href="#request-body" id="request-body"></a>

| Parameter                        | Description                                                                                                        |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| searchId(String, Required)       | <p>Data used to refer to search results<br>This data is taken from the return results of airline ticket search</p> |
| groupId(String, Required)        | Journey identifier in the list of journeys returned by search results                                              |
| fareSourceCode(String, Required) | Journey identifier information                                                                                     |

**Example**

```json
    {
        "fareSourceCode": "dom07b2da7b-3232-4294-9278-b35fb6307714",
        "groupId": "27b091a7-62b8-4ce2-b45b-eda3340d7673",
        "searchId": "ATD::210720::dc96e1a9-c39e-4f48-974e-e0be6abb45c7"
    }
```

#### Response <a href="#response" id="response"></a>

| Parameter                        | Description                             |
| -------------------------------- | --------------------------------------- |
| valid(Boolean, Required)         | Is the ticket information still useful? |
| duration(Integer, Optional)      |                                         |
| errors (Array\[Error], Optional) |                                         |
| infos(Array\[Info], Optional)    |                                         |
| success(Boolean, Optional)       |                                         |
| textMessage(String, Optional)    |                                         |

**Example**

```json
{
    "duration" : 858,
    "errors" : null,
    "infos" : null,
    "itinerary" : null,
    "success" : true,
    "textMessage" : null,
    "valid" : true
}
```

***

### Create draft booking API <a href="#create-draft-booking-api" id="create-draft-booking-api"></a>

POST: /api/air-tickets/draft-booking

Create draft booking with ticket info

#### Request Body <a href="#request-body_1" id="request-body_1"></a>

| Parameter                                        | Description                                                                                                        |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| itineraryInfos (Array\[ItineraryInfo], Required) | Outbound + return journey information (if any)                                                                     |
| searchId(String, Required)                       | <p>Data used to refer to search results<br>This data is taken from the return results of airline ticket search</p> |
| groupId(String, Required)                        | Journey identifier in the list of journeys returned by search results                                              |
| fareSourceCode(String, Required)                 | Journey identifier information                                                                                     |

**Example**

```json
    {
        "itineraryInfos": [
            {
                "fareSourceCode": "dom07b2da7b-3232-4294-9278-b35fb6307714",
                "groupId": "27b091a7-62b8-4ce2-b45b-eda3340d7673",
                "searchId": "ATD::210720::dc96e1a9-c39e-4f48-974e-e0be6abb45c7"
            },
            {
                "fareSourceCode": "domb771ff7f-57b5-4bd5-9443-e43b79f61aaa",
                "groupId": "8ceaa3c5-bbcf-451a-95ae-cd0a81e60993",
                "searchId": "ATD::210720::dc96e1a9-c39e-4f48-974e-e0be6abb45c7-R"
            }
        ]
    }
```

#### Response <a href="#response_1" id="response_1"></a>

| Parameter                                               | Description                                                                                                                                                  |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| bookingCode (BookingCode, Required)                     | Booking identifier information                                                                                                                               |
| bookingCode(String, Required)                           | Booking Identifier                                                                                                                                           |
| bookingNumber(String, Required)                         | Code used to refer to booking. This code is unique.                                                                                                          |
| bookingType(String, Required)                           | <p>Information showing the type of booking: Domestic or international<br>- DOME: Domestic<br>- INTE: International</p>                                       |
| departDraftItineraryInfo (DraftItineraryInfo, Required) | Outbound itinerary information                                                                                                                               |
| bookingDirection(String, Required)                      | <p>Direction information<br>- DEPARTURE: Departure direction<br>- RETURN: Return direction<br>- TRIP: Used for international tickets (outbound + return)</p> |
| fareSourceCode(String, Required)                        | Journey identifier information                                                                                                                               |
| groupId(String, Required)                               | Journey identifier in the list of journeys returned by search results                                                                                        |
| itinTotalFare (ItinTotalFare, Required)                 | Information about the prices of the journey                                                                                                                  |
| baseFare(FareInfo, required)                            | Basic fare information                                                                                                                                       |
| amount (Double, Required)                               | Amount of money                                                                                                                                              |
| decimalPlaces(Integer, Optional)                        | Decimal places rounded to                                                                                                                                    |
| equivFare (FareInfo, Optional)                          | Similar to baseFare                                                                                                                                          |
| Ticketing fee information                               |                                                                                                                                                              |
| serviceTax (FareInfo, Required)                         | Similar to baseFare                                                                                                                                          |
| Service fee information                                 |                                                                                                                                                              |
| totalTax (FareInfo, Required)                           | Similar to baseFare                                                                                                                                          |
| Information about total service fee                     |                                                                                                                                                              |
| totalFare (FareInfo, Required)                          | Similar to baseFare                                                                                                                                          |
| Total ticket price information                          |                                                                                                                                                              |
| returnDraftItineraryInfo (DraftItineraryInfo, Optional) | Similar to the detailed information of the outbound journey                                                                                                  |
| Return journey information                              |                                                                                                                                                              |
| duration(Integer, Optional)                             |                                                                                                                                                              |
| errors (Array\[Error], Optional)                        |                                                                                                                                                              |
| infos(Array\[Info], Optional)                           |                                                                                                                                                              |
| success(Boolean, Optional)                              |                                                                                                                                                              |
| textMessage(String, Optional)                           |                                                                                                                                                              |

**Example**

```json
    {
        "bookingCode": {
            "bookingCode": "BOD::210720::b87fd70e-4a9b-4532-9cb6-7d8142822ac3",
            "bookingNumber": "ADCO2107201223803"
        },
        "bookingType": "DOME",
        "departDraftItineraryInfo": {
            "bookingDirection": "DEPARTURE",
            "fareSourceCode": "dom07b2da7b-3232-4294-9278-b35fb6307714",
            "groupId": "27b091a7-62b8-4ce2-b45b-eda3340d7673",
            "itinTotalFare": {
            "baseFare": {
                "amount": 399000,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "comboMarkup": null,
            "equivFare": {
                "amount": 0,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "serviceTax": {
                "amount": 512000,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "totalFare": {
                "amount": 911000,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "totalPaxFee": null,
            "totalTax": {
                "amount": 0,
                "currencyCode": null,
                "decimalPlaces": 2
            }
            },
            "searchId": "ATD::210720::dc96e1a9-c39e-4f48-974e-e0be6abb45c7"
        },
        "duration": 3498,
        "errors": null,
        "infos": null,
        "isPerBookingType": true,
        "isRoundTripType": true,
        "isSuccess": true,
        "markupType": "PER_BOOKING",
        "returnDraftItineraryInfo": {
            "bookingDirection": "RETURN",
            "fareSourceCode": "domb771ff7f-57b5-4bd5-9443-e43b79f61aaa",
            "groupId": "8ceaa3c5-bbcf-451a-95ae-cd0a81e60993",
            "itinTotalFare": {
            "baseFare": {
                "amount": 1319000,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "comboMarkup": null,
            "equivFare": null,
            "serviceTax": {
                "amount": 350900,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "totalFare": {
                "amount": 1669900,
                "currencyCode": null,
                "decimalPlaces": 2
            },
            "totalPaxFee": null,
            "totalTax": {
                "amount": 0,
                "currencyCode": null,
                "decimalPlaces": 2
            }
            },
            "searchId": "ATD::210720::dc96e1a9-c39e-4f48-974e-e0be6abb45c7-R"
        },
        "roundType": "RoundTrip",
        "success": true,
        "textMessage": null
    }
```

***

### Get booking detail API <a href="#get-booking-detail-api" id="get-booking-detail-api"></a>

GET: /api/products/booking-detail

Get details of booking

#### Parameter <a href="#parameter" id="parameter"></a>

| Parameter                          | Description               |
| ---------------------------------- | ------------------------- |
| booking\_number (String, Required) | Reference code to booking |

**Example**

?booking\_number=`ADCO2107201223969`

#### Response <a href="#response_2" id="response_2"></a>

| Parameter                                                                                                                                                                  | Description                                                                     |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| id (String, Optional)                                                                                                                                                      | Booking identifier code                                                         |
| agencyCode (String, Optional)                                                                                                                                              | Agent code. Code used to refer to the author of the booking                     |
| agentCode (String, Optional)                                                                                                                                               | Agent employee code. Code used to refer to the author of the booking            |
| bookingCode(String, Required)                                                                                                                                              | Code used to describe basic information of booking                              |
| bookingDate (String, Optional)                                                                                                                                             | Create booking date                                                             |
| bookingDirection(String, Required)                                                                                                                                         | Direction information                                                           |
| DEPARTURE: Departure direction                                                                                                                                             |                                                                                 |
| RETURN: Return direction                                                                                                                                                   |                                                                                 |
| TRIP: Used for international tickets (outbound + return)                                                                                                                   |                                                                                 |
| bookingInfo (BookingInfo, Optional)                                                                                                                                        | Booking information                                                             |
| additionalFee (Number, Optional)                                                                                                                                           | Other fees                                                                      |
| agencyCode(String, Optional)                                                                                                                                               | Dealer code. Code used to refer to the author of the booking                    |
| agentCode(String, Optional)                                                                                                                                                | Agent employee code. Code used to refer to the author of the booking            |
| agentId(Integer, Optional)                                                                                                                                                 | Agent employee id                                                               |
| agentName(String, Optional)                                                                                                                                                | Agent staff name                                                                |
| allowHold(Boolean, Optional)                                                                                                                                               | Is it allowed to keep the plane ticket?                                         |
| true: allow to keep tickets                                                                                                                                                |                                                                                 |
| false: Not allowed to keep tickets                                                                                                                                         |                                                                                 |
| itinTotalFare (ItinTotalFare, Required)                                                                                                                                    | Information about the prices of the journey                                     |
| baseFare(Number, Optional)                                                                                                                                                 | Basic fare information                                                          |
| bookBy(String, Optional)                                                                                                                                                   | The person who booked the booking                                               |
| bookByCode(String, Optional)                                                                                                                                               | Orderer code                                                                    |
| bookingCode(String, Optional)                                                                                                                                              | Code used to describe basic information of booking                              |
| bookingDate(String, Optional)                                                                                                                                              | Booking creation date                                                           |
| bookingNote(String, Optional)                                                                                                                                              | Notes of booking                                                                |
| bookingNumber(String, Optional)                                                                                                                                            | Code used to refer to booking. This code is unique.                             |
| bookingType(String, Optional) = \[‘DOME’, ‘INTE’]                                                                                                                          | Determine whether the destination is domestic or international                  |
| DOME: Domestic                                                                                                                                                             |                                                                                 |
| INTE: International                                                                                                                                                        |                                                                                 |
| branchCode(String, Optional)                                                                                                                                               | Branch code                                                                     |
| cancellationBy(String, Optional)                                                                                                                                           | Ticket cancellation by…                                                         |
| cancellationDate(String, Optional)                                                                                                                                         | Cancellation date                                                               |
| cancellationFee(Number, Optional)                                                                                                                                          | Cancellation fee                                                                |
| cancellationNotes(String, Optional)                                                                                                                                        | Cancellation Notes                                                              |
| channelType(String, Optional) = \[‘ONLINE’, ‘OFFLINE’]                                                                                                                     | Booking channel type                                                            |
| contactInfos(Array\[BookingContactInfo], Optional)                                                                                                                         | Array of objects with contact information                                       |
| bookingNumber(String, Optional)                                                                                                                                            | Reference code to booking                                                       |
| contactLevel(String, Optional) = \[‘PRIMARY’, ‘SECONDARY’, ‘OTHER’],                                                                                                       | Level of contact                                                                |
| contactType(String, Optional) = \[‘CUSTOMER’, ‘AGENCY’]                                                                                                                    | Type of contact person                                                          |
| email(String, Optional)                                                                                                                                                    | Email address                                                                   |
| firstName(String, Optional)                                                                                                                                                | Night name and contact name                                                     |
| phoneCode1(String, Optional)                                                                                                                                               | Country code                                                                    |
| phoneNumber1(String, Optional)                                                                                                                                             | Phone number 1                                                                  |
| surName(String, Optional)                                                                                                                                                  | Contact person’s last name                                                      |
| customerCode(String, Optional)                                                                                                                                             | Customer’s code                                                                 |
| customerEmail(String, Optional)                                                                                                                                            | Customer’s email                                                                |
| customerFirstName(String, Optional)                                                                                                                                        | Client’s last name                                                              |
| customerId(Integer, Optional)                                                                                                                                              | Customer id                                                                     |
| customerLastName(String, Optional)                                                                                                                                         | Customer’s name                                                                 |
| customerPhoneNumber1(String, Optional)                                                                                                                                     | Customer’s phone number 1                                                       |
| customerPhoneNumber2(String, Optional)                                                                                                                                     | Customer’s phone number 2                                                       |
| departureDate(String, Optional)                                                                                                                                            | Departure day                                                                   |
| discountAmount (Number, Optional)                                                                                                                                          | Amount to be reduced                                                            |
| discountDate(String, Optional)                                                                                                                                             | Date to use discount code                                                       |
| discountRedeemCode(String, Optional)                                                                                                                                       | Redemption Link Code                                                            |
| discountRedeemId(String, Optional)                                                                                                                                         | Normal link identifier id                                                       |
| discountVoucherCode(String, Optional)                                                                                                                                      | Voucher code                                                                    |
| discountVoucherName(String, Optional)                                                                                                                                      | Name of the voucher                                                             |
| equivFare (FareInfo, Optional)                                                                                                                                             | Similar to baseFare                                                             |
| Ticketing fee information                                                                                                                                                  |                                                                                 |
| etickets(String, Optional)                                                                                                                                                 | Supplier link code, used to receive air tickets                                 |
| fromCity(String, Optional)                                                                                                                                                 | Departure city name                                                             |
| fromLocationCode(String, Optional),                                                                                                                                        | Departure Airport Identifier                                                    |
| fromLocationName(String, Optional),                                                                                                                                        | Departure airport name                                                          |
| id(integer, Optional),                                                                                                                                                     | Id of booking                                                                   |
| issuedByCode(String, Optional),                                                                                                                                            | Tickets issued by…                                                              |
| issuedDate(String, Optional)                                                                                                                                               | Check-out date                                                                  |
| issuedStatus(String, Optional) = \[‘PENDING’, ‘TICKET\_ON\_PROCESS’, ‘SUCCEEDED’, ‘FAILED’],                                                                               | Ticketing Status                                                                |
| PENDING: Waiting to issue tickets                                                                                                                                          |                                                                                 |
| TICKET\_ON\_PROCESS: Ticket issue is being processed                                                                                                                       |                                                                                 |
| SUCCEEDED: Successfully issued tickets                                                                                                                                     |                                                                                 |
| FAILED: Ticket issue failed                                                                                                                                                |                                                                                 |
| orgCode (String, Optional)                                                                                                                                                 | Organization code                                                               |
| passengerNameRecords(String, Optional)                                                                                                                                     | Supplier link code, used to receive air tickets                                 |
| paymentBy(String, Optional)                                                                                                                                                | Paid by…                                                                        |
| paymentByCode(String, Optional)                                                                                                                                            | Payer code                                                                      |
| paymentDate(String, Optional)                                                                                                                                              | Payment time                                                                    |
| paymentFee (Number, Optional)                                                                                                                                              | Payment Fees                                                                    |
| paymentRefNumber(String, Optional)                                                                                                                                         | Payment reference code                                                          |
| paymentStatus(String, Optional) = \[‘SUCCEEDED’, ‘FAILED’, ‘REFUNDED’, ‘PENDING’],                                                                                         | Payment Status                                                                  |
| PENDING: Waiting for payment                                                                                                                                               |                                                                                 |
| SUCCEEDED: Successful payment                                                                                                                                              |                                                                                 |
| FAILED: Payment failed                                                                                                                                                     |                                                                                 |
| REFUNDED: Refunds                                                                                                                                                          |                                                                                 |
| paymentTotalAmount(Number, Optional)                                                                                                                                       | Total payment amount                                                            |
| paymentType(String, Optional) = \[‘BALANCE’, ‘CREDIT’, ‘ATM\_DEBIT’, ‘AIRPAY’, ‘VNPAYQR’, ‘VIETTELPAY’, ‘MOMO’, ‘ZALO’, ‘PAYOO’, ‘CASH’, ‘TRANSFER ‘, ‘PARTNER’, ‘OTHER’], | Payment method                                                                  |
| refundBy(String, Optional)                                                                                                                                                 | Refunder                                                                        |
| refundByCode(String, Optional),                                                                                                                                            | Code of the person making the refund                                            |
| refundable (Boolean, Optional)                                                                                                                                             | Refund date                                                                     |
| returnDate(String, Optional)                                                                                                                                               | Check-out date                                                                  |
| roundType(String, Optional) = \[‘RoundTrip]                                                                                                                                |                                                                                 |
| saleChannel(String, Optional) = \[‘B2B’, ‘B2C’, ‘B2B2C’, ‘B2C\_WEB’, ‘B2C\_WEB\_APP’, ‘B2C\_MOBILE’]                                                                       | Distribution channel                                                            |
| serviceTax(Number, Optional)                                                                                                                                               | Taxes and fees                                                                  |
| status (String, Optional) = \[‘PENDING’, ‘BOOKING\_ON\_PROCESS’, ‘BOOKED’, ‘FAILED’, ‘CANCELLED’, ‘EXPIRED’],                                                              | Status of booking                                                               |
| PENDING: Waiting for booking confirmation                                                                                                                                  |                                                                                 |
| BOOKING\_ON\_PROCESS: Booking is being processed                                                                                                                           |                                                                                 |
| BOOKED: Booking confirmed                                                                                                                                                  |                                                                                 |
| FAILED: Booking failed                                                                                                                                                     |                                                                                 |
| EXPIRED: Expired Booking                                                                                                                                                   |                                                                                 |
| CANCELLED: Booking has been canceled                                                                                                                                       |                                                                                 |
| supplierType(String, Optional) = \[‘AIR’, ‘HOTEL’, ‘TOURS’, ‘TRAIN’, ‘SHIP’, ‘OTHER’],                                                                                     | Supplier Type                                                                   |
| taxAddress1(String, Optional)                                                                                                                                              | Invoicing address line 1                                                        |
| taxAddress2(String, Optional)                                                                                                                                              | Invoicing address line 2                                                        |
| taxCompanyName(String, Optional)                                                                                                                                           | Invoice company name                                                            |
| taxNumber (String, Optional)                                                                                                                                               | Tax code to be invoiced                                                         |
| taxPersonalInfoContact(String, Optional)                                                                                                                                   | Invoice recipients                                                              |
| taxReceiptRequest(Boolean, Optional)                                                                                                                                       | Request an invoice or not?                                                      |
| timeToLive(String, Optional)                                                                                                                                               | Waiting time for payment, after this time booking status will change to EXPIRED |
| toCity(String, Optional)                                                                                                                                                   | Name of destination province, city                                              |
| toLocationCode(String, Optional)                                                                                                                                           | Destination Identifier                                                          |
| toLocationName(String, Optional)                                                                                                                                           | Destination airport name                                                        |
| totalFare(Number, Optional)                                                                                                                                                | Total room rate                                                                 |
| totalSsrValue(Number, Optional)                                                                                                                                            | Total price of luggage/extra service                                            |
| totalTax(Number, Optional)                                                                                                                                                 | Total amount of taxes and fees                                                  |
| transactionInfos(Array\[BookingTransactionInfo], Optional)                                                                                                                 | Array of objects containing transaction information                             |
| id(integer, Optional)                                                                                                                                                      | Transaction identifier id                                                       |
| allowHold(Boolean, Optional)                                                                                                                                               | Is it allowed to keep tickets?                                                  |
| bookingCode(String, Optional)                                                                                                                                              | Code used to describe basic information of booking                              |
| bookingDate(String, Optional)                                                                                                                                              | Booking creation date                                                           |
| bookingDirection(String, Optional) = \[‘DEPARTURE’, ‘RETURN’]                                                                                                              |                                                                                 |
| bookingNumber(String, Optional)                                                                                                                                            | Code used to refer to booking.                                                  |
| bookingRefNo(String, Optional)                                                                                                                                             | Supplier link code                                                              |
| channelType(String, Optional) = \[‘ONLINE’, ‘OFFLINE’]                                                                                                                     | Type of sales channel                                                           |
| checkIn(String, Optional)                                                                                                                                                  | Flight date and time                                                            |
| checkOut(String, Optional)                                                                                                                                                 | Time and date come                                                              |
| destinationLocationCode(String, Optional)                                                                                                                                  | Stadium Identifier                                                              |
| detail(String, Optional)                                                                                                                                                   | Location name                                                                   |
| etickets(String, Optional)                                                                                                                                                 | Vendor affiliate code, used to receive tickets                                  |
| issuedDate(String, Optional)                                                                                                                                               | Ticket issue date                                                               |
| issuedStatus(String, Optional) = \[‘PENDING’, ‘TICKET\_ON\_PROCESS’, ‘SUCCEEDED’, ‘FAILED’]                                                                                | Ticketing Status                                                                |
| PENDING: Waiting to issue tickets                                                                                                                                          |                                                                                 |
| TICKET\_ON\_PROCESS: Ticket issue is being processed                                                                                                                       |                                                                                 |
| SUCCEEDED: Successfully issued tickets                                                                                                                                     |                                                                                 |
| FAILED: Ticket issue failed                                                                                                                                                |                                                                                 |
| noAdult(integer, Optional)                                                                                                                                                 | Number of adults                                                                |
| noChild(integer, Optional)                                                                                                                                                 | Number of children                                                              |
| onlyPayLater(Boolean, Optional)                                                                                                                                            | Postpaid or not allowed?                                                        |
| passengerNameRecord(String, Optional),                                                                                                                                     | Vendor affiliate code, used to receive tickets                                  |
| paymentAmount(Number, Optional)                                                                                                                                            | Payment amount                                                                  |
| productSeqNumber(String, Optional)                                                                                                                                         | Product code                                                                    |
| refundable (Boolean, Optional)                                                                                                                                             | Is there a refund for ticket cancellation?                                      |
| saleChannel(String, Optional) = \[‘B2B’, ‘B2C’, ‘B2B2C’, ‘B2C\_WEB’, ‘B2C\_WEB\_APP’, ‘B2C\_MOBILE’]                                                                       | Distribution channel                                                            |
| serviceTax(Number, Optional)                                                                                                                                               | Taxes and fees                                                                  |
| status (String, Optional) = \[‘PENDING’, ‘BOOKING\_ON\_PROCESS’, ‘BOOKED’, ‘FAILED’, ‘CANCELLED’, ‘EXPIRED’],                                                              | Status of booking                                                               |
| PENDING: Waiting for booking confirmation                                                                                                                                  |                                                                                 |
| BOOKING\_ON\_PROCESS: Booking is being processed                                                                                                                           |                                                                                 |
| BOOKED: Booking confirmed                                                                                                                                                  |                                                                                 |
| FAILED: Booking failed                                                                                                                                                     |                                                                                 |
| EXPIRED: Expired Booking                                                                                                                                                   |                                                                                 |
| CANCELLED: Booking has been canceled                                                                                                                                       |                                                                                 |
| supplierCode(String, Optional)                                                                                                                                             | Supplier code                                                                   |
| supplierName(String, Optional)                                                                                                                                             | Supplier Name                                                                   |
| supplierType(String, Optional) = \[‘AIR’, ‘HOTEL’, ‘TOURS’, ‘TRAIN’, ‘SHIP’, ‘OTHER’]                                                                                      | Product Type                                                                    |
| totalFare(Number, Optional)                                                                                                                                                | Total fare                                                                      |
| totalTax(Number, Optional)                                                                                                                                                 | Total taxes and fees                                                            |
| baseFare(Number, Optional)                                                                                                                                                 | Ticket price does not include taxes                                             |
| travelerInfos(Array\[BookingTravelerInfo], Optional)                                                                                                                       | Array of objects containing passenger information.                              |
| bookingNumber(String)                                                                                                                                                      | Reference code to booking                                                       |
| firstName(String)                                                                                                                                                          | Night name and passenger name                                                   |
| surName(String)                                                                                                                                                            | Passenger’s surname                                                             |
| bookingNumber(String, Optional)                                                                                                                                            | Code used to refer to booking. This code is unique.                             |
| bookingType(String, Optional)                                                                                                                                              | Determine whether the destination is domestic or international                  |
| DOME: Domestic                                                                                                                                                             |                                                                                 |
| INTE: International                                                                                                                                                        |                                                                                 |
| branchCode(String, Optional)                                                                                                                                               | Branch code                                                                     |
| groupPricedItineraries (Array\[GroupPricedItinerary], Optional),                                                                                                           | Information about the list of journeys returned by search results               |
| Similar to getting flight ticket search information                                                                                                                        |                                                                                 |
| OrgCode(String, Optional)                                                                                                                                                  | Organization code                                                               |
| saleChannel(String, Optional) = \[‘B2B’, ‘B2C’, ‘B2B2C’, ‘B2C\_WEB’, ‘B2C\_WEB\_APP’, ‘B2C\_MOBILE’],                                                                      | Distribution channel                                                            |
| supplierType(String, Optional) = \[‘AIR’, ‘HOTEL’, ‘TOURS’, ‘TRAIN’, ‘SHIP’, ‘OTHER’],                                                                                     | Supplier Type                                                                   |

**Example**

```json
    {
        "id": "BOD::210720::157f1341-5a66-4b0e-a6fb-a2d39b99dfdf",
        "updatedDate": "2021-07-20T07:11:49.524Z",
        "cacheType": "COMBO",
        "orgCode": "A::1",
        "agencyCode": "A::1",
        "branchCode": null,
        "saleChannel": "B2C_WEB",
        "channelType": "ONLINE",
        "supplierType": "AIR",
        "bookingCode": "BOD::210720::157f1341-5a66-4b0e-a6fb-a2d39b99dfdf",
        "bookingType": "DOME",
        "agentCode": null,
        "customerCode": "C::A::1|-1",
        "bookingNumber": "ADCO2107201223969",
        "bookingDate": "2021-07-20T07:11:49.52Z",
        "markupType": "PER_BOOKING",
        "bookingInfo": {
            "id": 1223969,
            "orgCode": "A::1",
            "agencyCode": "A::1",
            "saleChannel": "B2C_WEB",
            "channelType": "ONLINE",
            "supplierType": "AIR",
            "bookingCode": "BOD::210720::157f1341-5a66-4b0e-a6fb-a2d39b99dfdf",
            "bookingType": "DOME",
            "agentCode": null,
            "agentId": null,
            "agentName": null,
            "branchCode": null,
            "customerCode": "C::A::1|-1",
            "customerId": -1,
            "bookingNumber": "ADCO2107201223969",
            "roundType": "RoundTrip",
            "fromLocationCode": "HAN",
            "fromLocationName": "Sân bay Nội Bài",
            "fromCity": "Hà Nội",
            "toLocationCode": "SGN",
            "toLocationName": "Sân bay Tân Sơn Nhất",
            "toCity": "Hồ Chí Minh",
            "status": "PENDING",
            "bookingDate": "2021-07-20T07:11:49.52Z",
            "departureDate": "2021-08-16T05:10:00Z",
            "returnDate": "2021-08-24T05:25:00Z",
            "baseFare": 2638000,
            "equivFare": 0,
            "serviceTax": 701800,
            "vat": null,
            "totalFare": 3339800,
            "totalTax": 701800,
            "agencyMarkupValue": 0,
            "markupValue": 0,
            "totalSsrValue": 0,
            "totalCombo": null,
            "paymentTotalAmount": 0,
            "paymentFee": 0,
            "paymentType": "OTHER",
            "paymentStatus": "PENDING",
            "paymentDate": null,
            "paymentRefNumber": null,
            "issuedStatus": "PENDING",
            "issuedDate": null,
            "customerFirstName": null,
            "customerLastName": null,
            "customerPhoneNumber1": null,
            "customerPhoneNumber2": null,
            "customerEmail": null,
            "taxReceiptRequest": null,
            "taxCompanyName": null,
            "taxAddress1": null,
            "taxAddress2": null,
            "taxNumber": null,
            "paymentBy": null,
            "paymentByCode": null,
            "issuedByCode": null,
            "refundBy": null,
            "refundByCode": null,
            "bookBy": "GUEST",
            "bookByCode": "C::A::1|-1",
            "displayPriceInfo": {
            "bookingNumber": "ADCO2107201223969",
            "baseFare": 2638000,
            "equivFare": 0,
            "serviceTax": 701800,
            "totalFare": 3339800,
            "totalTax": 701800,
            "agencyMarkupValue": 0,
            "markupValue": 0,
            "totalSsrValue": 0,
            "cancellationFee": 0,
            "paymentFee": 0,
            "discountAmount": 0,
            "additionalFee": 0,
            "additionalTaxPerTraveler": 0,
            "vat": null
            },
            "transactionInfos": [
            {
                "id": 1224043,
                "saleChannel": "B2C_WEB",
                "channelType": "ONLINE",
                "supplierType": "AIR",
                "bookingCode": "ADCO2107201223969::HAN-SGN::domd879a3f6-f3cb-40d6-8e95-52dd0a7d47a5",
                "bookingNumber": "ADCO2107201223969",
                "status": "PENDING",
                "bookingDate": "2021-07-20T07:11:49.52Z",
                "supplierCode": "VJ",
                "supplierName": "Vietjet Air",
                "bookingRefNo": null,
                "passengerNameRecord": null,
                "timeToLive": null,
                "signature": null,
                "detail": "HAN-SGN :: VJ 135",
                "originLocationCode": "HAN",
                "destinationLocationCode": "SGN",
                "carrierNo": "135",
                "checkIn": "2021-08-16T07:20:00Z",
                "checkOut": "2021-08-16T05:10:00Z",
                "baseFare": 1319000,
                "equivFare": 0,
                "serviceTax": 350900,
                "totalFare": 1669900,
                "totalTax": 350900,
                "agencyMarkupValue": 0,
                "markupValue": null,
                "totalSsrValue": 0,
                "markupKey": "F2C|A::1|A|DOME|BAS|VIETJET|ECONOMY|-1",
                "markupCode": null,
                "markupFormula": null,
                "paymentAmount": null,
                "issuedStatus": "PENDING",
                "issuedDate": null,
                "etickets": null,
                "listETickets": null,
                "productSeqNumber": "ibe4754299335928434",
                "productClass": "ECONOMY",
                "bookingDirection": "DEPARTURE",
                "noAdult": 1,
                "noChild": 0,
                "noInfant": 0,
                "b2cBasePrice": 0,
                "b2cTaxAndFees": 0,
                "adjustNet": 0,
                "adjustContract": 0,
                "b2cTotalPrice": 0,
                "supplierBookingStatus": "PENDING",
                "supplierPaymentStatus": null,
                "onlyPayLater": false,
                "allowHold": true,
                "refundable": false
            },
            {
                "id": 1224044,
                "saleChannel": "B2C_WEB",
                "channelType": "ONLINE",
                "supplierType": "AIR",
                "bookingCode": "ADCO2107201223969::SGN-HAN::dom389dca01-c0fd-466b-8a98-daaa4d5a06d4",
                "bookingNumber": "ADCO2107201223969",
                "status": "PENDING",
                "bookingDate": "2021-07-20T07:11:49.52Z",
                "supplierCode": "VJ",
                "supplierName": "Vietjet Air",
                "bookingRefNo": null,
                "passengerNameRecord": null,
                "timeToLive": null,
                "signature": null,
                "detail": "SGN-HAN :: VJ 176",
                "originLocationCode": "SGN",
                "destinationLocationCode": "HAN",
                "carrierNo": "176",
                "checkIn": "2021-08-24T07:35:00Z",
                "checkOut": "2021-08-24T05:25:00Z",
                "baseFare": 1319000,
                "equivFare": 0,
                "serviceTax": 350900,
                "totalFare": 1669900,
                "totalTax": 350900,
                "agencyMarkupValue": 0,
                "markupValue": null,
                "totalSsrValue": 0,
                "markupKey": "F2C|A::1|A|DOME|BAS|VIETJET|ECONOMY|-1",
                "markupCode": null,
                "markupFormula": null,
                "paymentAmount": null,
                "issuedStatus": "PENDING",
                "issuedDate": null,
                "etickets": null,
                "listETickets": null,
                "productSeqNumber": "ibe4754299329767108",
                "productClass": "ECONOMY",
                "bookingDirection": "RETURN",
                "noAdult": 1,
                "noChild": 0,
                "noInfant": 0,
                "b2cBasePrice": 0,
                "b2cTaxAndFees": 0,
                "adjustNet": 0,
                "adjustContract": 0,
                "b2cTotalPrice": 0,
                "supplierBookingStatus": "PENDING",
                "supplierPaymentStatus": null,
                "onlyPayLater": false,
                "allowHold": true,
                "refundable": false
            }
            ],
            "agencyMarkupInfos": [
            {
                "agencyCode": "A::1",
                "baseFare": 2638000,
                "equivFare": 0,
                "serviceTax": 701800,
                "totalFare": 3339800,
                "totalTax": 701800,
                "markupValue": 0,
                "agencyMarkupValue": 0
            }
            ],
            "contactInfos": [],
            "travelerInfos": [],
            "timeToLive": null,
            "supplierBookingStatus": "PENDING",
            "passengerNameRecords": "",
            "etickets": "",
            "cancellationFee": 0,
            "cancellationNotes": null,
            "cancellationBy": null,
            "cancellationDate": null,
            "discountAmount": 0,
            "discountVoucherCode": null,
            "discountVoucherName": null,
            "discountRedeemId": null,
            "discountRedeemCode": null,
            "discountDate": null,
            "additionalFee": null,
            "taxPersonalInfoContact": null,
            "bookingNote": null,
            "internalBookingNote": null,
            "promotionID": null,
            "reasonCodePaymentFailed": null,
            "bookingFinalStatus": null,
            "bookingIssuedType": null,
            "deleted": null,
            "onlyPayLater": false,
            "allowHold": true,
            "refundable": false,
            "ownerBooking": false,
            "showPayLaterOption": true,
            "showPayNowOption": true
        },
        "groupPricedItineraries": [
            {
            "groupId": "061f0408-ddb8-4462-ada0-d7aacac4154f",
            "airline": "VJ",
            "airlineName": "VietJet Air",
            "airSupplier": "VJ",
            "fightNo": "135",
            "flightType": "DOMESTIC",
            "roundType": "ROUNDTRIP",
            "originLocationCode": "HAN",
            "originLocationName": "Sân bay Nội Bài",
            "originCity": "Hà Nội",
            "originCountryCode": null,
            "originCountry": null,
            "destinationLocationCode": "SGN",
            "destinationLocationName": "Sân bay Tân Sơn Nhất",
            "destinationCity": "Hồ Chí Minh",
            "destinationCountryCode": null,
            "destinationCountry": null,
            "requiredFields": null,
            "aircraft": "Airbus A321",
            "vnaArea": null,
            "arrivalDateTime": "2021-08-16T07:20:00Z",
            "returnDateTime": null,
            "departureDateTime": "2021-08-16T05:10:00Z",
            "totalPricedItinerary": 1,
            "pricedItineraries": [
                {
                "sequenceNumber": "ibe4754299335928434",
                "directionInd": "DEPARTURE",
                "ticketType": "ETICKET",
                "validatingAirlineCode": "VJ",
                "validatingAirlineName": "VietJet Air",
                "fightNo": "135",
                "airItineraryPricingInfo": {
                    "fareSourceCode": "domd879a3f6-f3cb-40d6-8e95-52dd0a7d47a5",
                    "fareType": "PUBLIC",
                    "divideInPartyIndicator": false,
                    "fareInfoReferences": null,
                    "itinTotalFare": {
                    "baseFare": {
                        "amount": 1319000,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "comboMarkup": null,
                    "equivFare": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "serviceTax": {
                        "amount": 350900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalFare": {
                        "amount": 1669900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalTax": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalPaxFee": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    }
                    },
                    "adultFare": {
                    "passengerTypeQuantities": {
                        "code": "ADT",
                        "quantity": 1
                    },
                    "fareBasisCodes": null,
                    "passengerFare": {
                        "baseFare": {
                        "amount": 1319000,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "comboMarkup": null,
                        "equivFare": null,
                        "serviceTax": {
                        "amount": 350900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "taxes": null,
                        "totalFare": {
                        "amount": 1669900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "totalPaxFee": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "surcharges": [
                        {
                            "amount": 0,
                            "indicator": "Ticket fee per segment",
                            "type": "Ticket fee per segment"
                        }
                        ]
                    }
                    },
                    "childFare": null,
                    "infantFare": null
                },
                "originDestinationOptions": [
                    {
                    "originLocationCode": "HAN",
                    "originLocationName": "Sân bay Nội Bài",
                    "originCity": "Hà Nội",
                    "originDateTime": "2021-08-16T05:10:00Z",
                    "destinationLocationCode": "SGN",
                    "destinationLocationName": "Sân bay Tân Sơn Nhất",
                    "destinationCity": "Hồ Chí Minh",
                    "destinationDateTime": "2021-08-16T07:20:00Z",
                    "flightDirection": "D",
                    "journeyDuration": 130,
                    "flightSegments": [
                        {
                        "departureAirportLocationCode": "HAN",
                        "departureAirportLocationName": "Sân bay Nội Bài",
                        "departureCity": "Hà Nội",
                        "departureDateTime": "2021-08-16T05:10:00Z",
                        "arrivalAirportLocationCode": "SGN",
                        "arrivalAirportLocationName": "Sân bay Tân Sơn Nhất",
                        "arrivalCity": "Hồ Chí Minh",
                        "arrivalDateTime": "2021-08-16T07:20:00Z",
                        "cabinClassCode": "L1_ECO",
                        "cabinClassName": "ECONOMY",
                        "cabinClassText": "Economy",
                        "eticket": true,
                        "flightNumber": "135",
                        "journeyDuration": 130,
                        "marketingAirlineCode": "VJ",
                        "marriageGroup": null,
                        "mealCode": null,
                        "adultBaggage": null,
                        "childBaggage": null,
                        "infantBaggage": null,
                        "operatingAirline": {
                            "code": "VJ",
                            "name": "VietJet Air",
                            "equipment": null,
                            "flightNumber": "135"
                        },
                        "resBookDesignCode": "L1_ECO",
                        "seatsRemaining": null,
                        "stopQuantity": 0,
                        "stopQuantityInfo": null,
                        "flightDirection": "D",
                        "fareCode": null,
                        "fareBasicCode": null,
                        "supplierJourneyKey": "FE1G3mI6J96guNcAzJB8ySOHAwhKeuKrPN1RLIvlkec0JkXEWMPy6ItOC426vmwQR43zYvZ9J8VI6zaG7lw0LKmEHsO80BsCMC3Wd8iolbƒTmtG8M6L7bPi0uz2tkYAvXDMXc9HUGkG8lApWnPe3xpTBrE0U39yauxXCYdc1n9FtG7gDƒ01dSwfrBCjwi0vgtFCse3gS3k17xSKp05Uw44REYTvb82JA3bgQdkƒBFAmNfeceBsSG9xMBDMdYNrMIO¥oiODBDxq5ƒz06gIaktCwk0PN8BM5mGwƒ2LgRBYV0JrBwBdrM6oOcgDgC4OYyLgrDH9Knfns1ƒgDj27Ac0HAXbdbZ7XqkrzKbM4r9Q8cg8X47a9lNO4KƒqIvTnUvEY8M0c1wwuOOHYJTsJABLzVPo3kahvuxmO3QlZuBy4fOB8MXrƒzbqks9wZ46RcMmvj8rz2U¥hysKqksRuCInqmdWYetrTHeziXe1Hj2i44979g=",
                        "supplierFareKey": null,
                        "aircraft": "Airbus A321"
                        }
                    ],
                    "cabinClassName": "ECONOMY"
                    }
                ],
                "cabinClassName": "ECONOMY",
                "validReturnCabinClasses": null,
                "baggageItems": [
                    {
                    "id": "air-tickets.baggage-items.vietnam.vj.economy.baggage.adult.free",
                    "name": "7kg xách tay",
                    "code": "air-tickets.baggage-items.vietnam.vj.economy.baggage.adult.free",
                    "amount": 0,
                    "serviceType": "BAGGAGE",
                    "fareCode": null,
                    "direction": null,
                    "note": ""
                    }
                ],
                "mealItems": null,
                "passportMandatory": true,
                "onlyPayLater": false,
                "allowHold": true,
                "refundable": false
                }
            ],
            "tourCode": null,
            "osiCode": null
            },
            {
            "groupId": "59136e62-a451-491c-bf57-1495a5eb8053",
            "airline": "VJ",
            "airlineName": "VietJet Air",
            "airSupplier": "VJ",
            "fightNo": "176",
            "flightType": "DOMESTIC",
            "roundType": "ROUNDTRIP",
            "originLocationCode": "SGN",
            "originLocationName": "Sân bay Tân Sơn Nhất",
            "originCity": "Hồ Chí Minh",
            "originCountryCode": null,
            "originCountry": null,
            "destinationLocationCode": "HAN",
            "destinationLocationName": "Sân bay Nội Bài",
            "destinationCity": "Hà Nội",
            "destinationCountryCode": null,
            "destinationCountry": null,
            "requiredFields": null,
            "aircraft": "Airbus A321",
            "vnaArea": null,
            "arrivalDateTime": "2021-08-24T07:35:00Z",
            "returnDateTime": null,
            "departureDateTime": "2021-08-24T05:25:00Z",
            "totalPricedItinerary": 1,
            "pricedItineraries": [
                {
                "sequenceNumber": "ibe4754299329767108",
                "directionInd": "DEPARTURE",
                "ticketType": "ETICKET",
                "validatingAirlineCode": "VJ",
                "validatingAirlineName": "VietJet Air",
                "fightNo": "176",
                "airItineraryPricingInfo": {
                    "fareSourceCode": "dom389dca01-c0fd-466b-8a98-daaa4d5a06d4",
                    "fareType": "PUBLIC",
                    "divideInPartyIndicator": false,
                    "fareInfoReferences": null,
                    "itinTotalFare": {
                    "baseFare": {
                        "amount": 1319000,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "comboMarkup": null,
                    "equivFare": null,
                    "serviceTax": {
                        "amount": 350900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalFare": {
                        "amount": 1669900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalTax": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    },
                    "totalPaxFee": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                    }
                    },
                    "adultFare": {
                    "passengerTypeQuantities": {
                        "code": "ADT",
                        "quantity": 1
                    },
                    "fareBasisCodes": null,
                    "passengerFare": {
                        "baseFare": {
                        "amount": 1319000,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "comboMarkup": null,
                        "equivFare": null,
                        "serviceTax": {
                        "amount": 350900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "taxes": null,
                        "totalFare": {
                        "amount": 1669900,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "totalPaxFee": {
                        "amount": 0,
                        "currencyCode": null,
                        "decimalPlaces": 2
                        },
                        "surcharges": [
                        {
                            "amount": 0,
                            "indicator": "Ticket fee per segment",
                            "type": "Ticket fee per segment"
                        }
                        ]
                    }
                    },
                    "childFare": null,
                    "infantFare": null
                },
                "originDestinationOptions": [
                    {
                    "originLocationCode": "HAN",
                    "originLocationName": "Sân bay Nội Bài",
                    "originCity": "Hà Nội",
                    "originDateTime": "2021-08-24T05:25:00Z",
                    "destinationLocationCode": "SGN",
                    "destinationLocationName": "Sân bay Tân Sơn Nhất",
                    "destinationCity": "Hồ Chí Minh",
                    "destinationDateTime": "2021-08-24T07:35:00Z",
                    "flightDirection": "R",
                    "journeyDuration": 130,
                    "flightSegments": [
                        {
                        "departureAirportLocationCode": "SGN",
                        "departureAirportLocationName": "Sân bay Tân Sơn Nhất",
                        "departureCity": "Hồ Chí Minh",
                        "departureDateTime": "2021-08-24T05:25:00Z",
                        "arrivalAirportLocationCode": "HAN",
                        "arrivalAirportLocationName": "Sân bay Nội Bài",
                        "arrivalCity": "Hà Nội",
                        "arrivalDateTime": "2021-08-24T07:35:00Z",
                        "cabinClassCode": "L1_ECO",
                        "cabinClassName": "ECONOMY",
                        "cabinClassText": "Economy",
                        "eticket": true,
                        "flightNumber": "176",
                        "journeyDuration": 130,
                        "marketingAirlineCode": "VJ",
                        "marriageGroup": null,
                        "mealCode": null,
                        "adultBaggage": null,
                        "childBaggage": null,
                        "infantBaggage": null,
                        "operatingAirline": {
                            "code": "VJ",
                            "name": "VietJet Air",
                            "equipment": null,
                            "flightNumber": "176"
                        },
                        "resBookDesignCode": "L1_ECO",
                        "seatsRemaining": null,
                        "stopQuantity": 0,
                        "stopQuantityInfo": null,
                        "flightDirection": "R",
                        "fareCode": null,
                        "fareBasicCode": null,
                        "supplierJourneyKey": "qPHglSL8tSGƒ3tYhxs32uoafExuaR6¥D8DPJRmgypKWbSPECY06rnAXXpKJGOuZb7NEUz4HasidS6Kcff52bObVg9sDEUOLmHkeV1TaDv58k1CDTNƒyCESrKIDxxmqYUmuLSƒffYjj90rjE3zanJvDlCWjzbJ0DBYAszIKjG¥o7RMqlwoq6wrrJdOd4WNgPiooIUl4X14bZwOJmwqCDLLQDkqSQEcF1¥9rRzwbHQskz1QbtcUSpjbSrCyzB¥dsN4QEz0q6cFXltqF¥kr1pa¥HPƒqJkPVl35AkZjpH5n9KIQrPeVQbFskIp3Qi¥Mgc3S¥gfRBdNwWHAGFWU00HmhtmMI5uEEJCxEvhs28wq2yƒQi9U0HMXqWHfKhaRG788ƒLgXn3nIiM¥T514T9ƒWW0uv1wckVgDkdYKN4X9Dzi1oF0lhKTUlinhfxz3NPh2VdhI¥Hg2f6ƒb3Zz1Ggt8Kl2bKz15PdYBNJvd3j4h314KYP9g=",
                        "supplierFareKey": null,
                        "aircraft": "Airbus A321"
                        }
                    ],
                    "cabinClassName": "ECONOMY"
                    }
                ],
                "cabinClassName": "ECONOMY",
                "validReturnCabinClasses": null,
                "baggageItems": [
                    {
                    "id": "air-tickets.baggage-items.vietnam.vj.economy.baggage.adult.free",
                    "name": "7kg xách tay",
                    "code": "air-tickets.baggage-items.vietnam.vj.economy.baggage.adult.free",
                    "amount": 0,
                    "serviceType": "BAGGAGE",
                    "fareCode": null,
                    "direction": null,
                    "note": ""
                    }
                ],
                "mealItems": null,
                "passportMandatory": true,
                "onlyPayLater": false,
                "allowHold": true,
                "refundable": false
                }
            ],
            "tourCode": null,
            "osiCode": null
            }
        ],
        "hotelAvailability": null,
        "hotelProductPayload": null,
        "hotelProduct": null,
        "offlineBooking": null,
        "travelerInfo": null,
        "isPerBookingType": true
    }
```

***

### Get list of special service request that can be purchased API <a href="#get-list-of-special-service-request-that-can-be-purchased-api" id="get-list-of-special-service-request-that-can-be-purchased-api"></a>

GET: /api/air-tickets/ssr-offer/{bookingNumber}

Get list of special service request that can be purchased

#### Parameter <a href="#parameter_1" id="parameter_1"></a>

| Parameter                        | Description               |
| -------------------------------- | ------------------------- |
| bookingNumber (String, Required) | Reference code to booking |

**Example**

?bookingNumber=`ADCO2107201223969`

#### Response <a href="#response_3" id="response_3"></a>

| Parameter                                      | Description                                                                       |
| ---------------------------------------------- | --------------------------------------------------------------------------------- |
| bookingNumber(String, Optional)                | Code used to refer to booking. This code is unique.                               |
| departSsrOfferItems (SSROfferItem, Optional)   | Utilities for departure direction tickets                                         |
| departureAirportLocationCode(String, Optional) | Identifier code for the departure airport                                         |
| arrivalAirportLocationCode(String, Optional)   | Identifier code for the arrival airport                                           |
| departureDateTime(String, Optional)            | Departure date and time                                                           |
| arrivalDateTime(String, Optional)              | Arrival time and date                                                             |
| ssrItems (Array\[SSRItem], Optional)           | List of utilities                                                                 |
| amount (Number, Optional)                      | Price                                                                             |
| code(String, Optional)                         | Vendor add-on extension identifier                                                |
| id(String, Optional)                           | Utility identifier. Each code is unique and does not coincide in the same journey |
| name(String, Optional)                         | Name of add-on service to buy more                                                |
| serviceType(String, Optional)                  | Type of add-on service to buy                                                     |
| BAGGAGE: extra baggage                         |                                                                                   |
| MEAL: side meal                                |                                                                                   |
| returnSsrOfferItems (SSROfferItem, Optional)   | Utilities for return tickets                                                      |
| Similar utility for one-way tickets            |                                                                                   |
| duration(Integer, Optional)                    |                                                                                   |
| errors (Array\[Error], Optional)               |                                                                                   |
| infos(Array\[Info], Optional)                  |                                                                                   |
| success(Boolean, Optional)                     |                                                                                   |
| textMessage(String, Optional)                  |                                                                                   |

**Example**

```json
{
    "bookingNumber" : "ADCO2107201223969",
    "departSsrOfferItems" : [ {
        "arrivalAirportLocationCode" : "SGN",
        "arrivalAirportLocationName" : null,
        "arrivalCity" : null,
        "arrivalDateTime" : "2021-08-16T07:20:00.000Z",
        "departureAirportLocationCode" : "HAN",
        "departureAirportLocationName" : null,
        "departureCity" : null,
        "departureDateTime" : "2021-08-16T05:10:00.000Z",
        "ssrItems" : [ {
        "amount" : 170500.0,
        "code" : "Bag 15kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_2ae7cd77-cab3-497a-ac75-c7fcc8d9e9ed",
        "name" : "Bags 15kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 192500.0,
        "code" : "Bag 20kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_9f675ebc-bfbb-45c9-8c10-c8d07f45581f",
        "name" : "Bag 20kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 258500.0,
        "code" : "Bag 25kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_6a599353-8494-4286-91fa-a6941c5a945b",
        "name" : "Bag 25kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 368500.0,
        "code" : "Bag 30kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_f8ebf8bb-65d6-463c-942a-bed90f74b1fa",
        "name" : "Bag 30kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 423500.0,
        "code" : "Bag 35kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_25435c21-500c-45c5-92e8-b70227fad826",
        "name" : "Bag 35kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 478500.0,
        "code" : "Bag 40kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_a28ed2a2-df6e-4493-aa27-d46290424a32",
        "name" : "Bag 40kg",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 412500.0,
        "code" : "Oversize 20kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_3d767edf-7441-43e1-b4b0-80f0d6770f6e",
        "name" : "Oversize 20kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 588500.0,
        "code" : "Oversize 30kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_6071aea5-06fd-4669-968c-769c8813d8b9",
        "name" : "Oversize 30kgs",
        "serviceType" : "BAGGAGE"
        } ]
    } ],
    "duration" : 3686,
    "errors" : null,
    "infos" : null,
    "returnSsrOfferItems" : [ {
        "arrivalAirportLocationCode" : "HAN",
        "arrivalAirportLocationName" : null,
        "arrivalCity" : null,
        "arrivalDateTime" : "2021-08-24T07:35:00.000Z",
        "departureAirportLocationCode" : "SGN",
        "departureAirportLocationName" : null,
        "departureCity" : null,
        "departureDateTime" : "2021-08-24T05:25:00.000Z",
        "ssrItems" : [ {
        "amount" : 170500.0,
        "code" : "Bag 15kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_53563c43-daf8-44d6-ab75-d1e8056addf9",
        "name" : "15kg ký gửi",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 192500.0,
        "code" : "Bag 20kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_18395f19-1eae-4741-9974-bc4154340351",
        "name" : "20kg ký gửi",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 258500.0,
        "code" : "Bag 25kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_5beb92dd-f178-4b8c-b77f-777527540a36",
        "name" : "Bag 25kg",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 368500.0,
        "code" : "Bag 30kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_543dcfb6-a75c-4c5b-bfb3-ab425b20dbc7",
        "name" : "Bag 30kg",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 423500.0,
        "code" : "Bag 35kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_f5d90a7c-a1dd-4eaa-8a85-478195a5e8e2",
        "name" : "Bag 35kg",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 478500.0,
        "code" : "Bag 40kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_89bd8235-e51d-47bb-a712-3cf0e24c68da",
        "name" : "Bag 40kg",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 412500.0,
        "code" : "Oversize 20kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_ed1d0701-08e8-4e05-94f1-19d0e71d89fb",
        "name" : "Oversize 20kgs",
        "serviceType" : "BAGGAGE"
        }, {
        "amount" : 588500.0,
        "code" : "Oversize 30kgs",
        "direction" : null,
        "fareCode" : null,
        "id" : "SSRCode_aeb6be0b-3ff0-498a-8093-d1bfaa3d4f9f",
        "name" : "Oversize 30kgs",
        "serviceType" : "BAGGAGE"
        } ]
    } ],
    "success" : true,
    "textMessage" : null
}
```

***

### Update booking and reservation information API <a href="#update-booking-and-reservation-information-api" id="update-booking-and-reservation-information-api"></a>

POST: /api/air-tickets/add-booking-traveller

Update information: Passengers, contact person, invoice information, … and reservation request

#### Request Body <a href="#request-body_2" id="request-body_2"></a>

| Parameter                                                                                                                                                                                                      | Description                                                                       |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| bookingNumber(String, Optional)                                                                                                                                                                                | Code used to refer to booking. This code is unique.                               |
| bookingContacts (Array\[BookingContact], Required)                                                                                                                                                             | List of contact information                                                       |
| email (String, Required)                                                                                                                                                                                       | Email of the contact                                                              |
| firstName(String, Required                                                                                                                                                                                     | Contact’s first and middle name                                                   |
| surName(String, Required)                                                                                                                                                                                      | Contact person’s last name                                                        |
| phoneNumber1 (String, Required)                                                                                                                                                                                | Phone number of the contact person                                                |
| bookingTravelerInfos (Array(BookingTravelerInfoDTO), Required)                                                                                                                                                 | List of customer information, accompanying services                               |
| serviceRequests(Array\[BookingServiceRequestDTO], Optional)                                                                                                                                                    | Information about accompanying services                                           |
| Note: If SSR is flight delay insurance for 2-way flights, it is mandatory to buy both, but cannot buy one-way and cancel one-way. Late flight insurance price does not include infants, only adults + children |                                                                                   |
| bookingDirection(String, Required)                                                                                                                                                                             | Departure direction                                                               |
| Package                                                                                                                                                                                                        |                                                                                   |
| • DEPARTURE : afternoon go                                                                                                                                                                                     |                                                                                   |
| • RETURN: return afternoon                                                                                                                                                                                     |                                                                                   |
| Insurance                                                                                                                                                                                                      |                                                                                   |
| • ONEWAY: for 1 way                                                                                                                                                                                            |                                                                                   |
| • ROUNDTRIP: for both directions                                                                                                                                                                               |                                                                                   |
|                                                                                                                                                                                                                |                                                                                   |
| ssrAmount (Number, Required)                                                                                                                                                                                   | Price                                                                             |
| ssrCode(String, Required)                                                                                                                                                                                      | Vendor add-on extension identifier                                                |
| ssrId(String, Required)                                                                                                                                                                                        | Utility identifier. Each code is unique and does not coincide in the same journey |
| ssrName(String, Required)                                                                                                                                                                                      | Name of add-on service to buy more                                                |
| serviceType(String, Required)                                                                                                                                                                                  | Type of add-on service to buy                                                     |
| •BAGGAGE: extra baggage                                                                                                                                                                                        |                                                                                   |
| •MEAL: side meal                                                                                                                                                                                               |                                                                                   |
| •INSURANCE: flight delay insurance                                                                                                                                                                             |                                                                                   |
| fareCode(String, Required)                                                                                                                                                                                     | Journey identifier information                                                    |
| bookingNumber(String, Required)                                                                                                                                                                                | Code used to refer to booking. This code is unique.                               |
| traveler (BookingTravelerDTO, Required)                                                                                                                                                                        | Passenger information                                                             |
| adultType(String, Required)                                                                                                                                                                                    | Show passenger type                                                               |
| ADT: adult                                                                                                                                                                                                     |                                                                                   |
| CHD: children                                                                                                                                                                                                  |                                                                                   |
| INF: baby                                                                                                                                                                                                      |                                                                                   |
| firstName(String, Required)                                                                                                                                                                                    | First and middle name                                                             |
| gender(String, Required)                                                                                                                                                                                       | Sex                                                                               |
| MALE: male                                                                                                                                                                                                     |                                                                                   |
| FEMALE: female                                                                                                                                                                                                 |                                                                                   |
| BOY: boy                                                                                                                                                                                                       |                                                                                   |
| GIRL: baby girl                                                                                                                                                                                                |                                                                                   |
| INF: infant                                                                                                                                                                                                    |                                                                                   |
| memberCard (Boolean, Optional)                                                                                                                                                                                 | Do you have a membership card?                                                    |
| memberCardType(String, Optional)                                                                                                                                                                               | Membership card type                                                              |
| memberCardNumber(String, Optional)                                                                                                                                                                             | Membership card number                                                            |
| surName(String, Required)                                                                                                                                                                                      | Last name - bookingNumber(String, Required)                                       |
| dob(String, Optional)                                                                                                                                                                                          | Date of birth                                                                     |
| taxReceiptRequest(TaxReceiptRequest, Required)                                                                                                                                                                 | Journey identifier information                                                    |
| bookingNumber(String, Required)                                                                                                                                                                                | Code used to refer to booking. This code is unique.                               |
| taxReceiptRequest(Boolean, Required)                                                                                                                                                                           | Information on whether to issue an invoice?                                       |
| taxAddress1(String, Optional)                                                                                                                                                                                  | Invoice delivery address                                                          |
| taxCompanyName(String, Optional)                                                                                                                                                                               | Invoice company name                                                              |
| taxNumber(String, Optional)                                                                                                                                                                                    | Tax code                                                                          |
| taxPersonalInfoContact(String, Optional)                                                                                                                                                                       | Contact person name                                                               |

**Example**

```json
    {
        "bookingNumber": "ADCO2107211224000",
        "bookingContacts": [
            {
                "email": "dang.nguyenhai@gotadi.com",
                "firstName": "HAI DANG",
                "phoneCode1": "84",
                "phoneNumber1": "0932909474",
                "surName": "NGUYEN",
                "bookingNumber": "ADCO2107211224000"
            }
        ],
        "bookingTravelerInfos": [
            {
            "traveler": {
                "adultType": "ADT",
                "documentNumber": "SLKDF234C",
                "documentExpiredDate": "2025-06-12T00:00:00.000Z",
                "documentIssuingCountry": "vn",
                "documentType": "PP",
                "firstName": "HAI DANG",
                "gender": "MALE",
                "country": "vn",
                "memberCard": false,
                "memberCardType": null,
                "memberCardNumber": null,
                "surName": "NGUYEN",
                "bookingNumber": "ADCO2107211224000",
                "dob": null
            },
            "serviceRequests": [
                {
                "bookingDirection": "DEPARTURE",
                "bookingNumber": "ADCO2107211224000",
                "fareCode": "domdb93cf84-d023-4222-9b56-f096d9e5df35",
                "serviceType": "BAGGAGE",
                "ssrAmount": 258500,
                "ssrCode": "Bag 25kgs",
                "ssrId": "SSRCode_941c225f-0cb5-4e46-a669-5a75d7d3afde",
                "ssrName": "25kg ký gửi"
                },
                {
                "bookingNumber": "ADCO2107211224000",
                "bookingDirection": "ONEWAY",
                "fareCode": "domdb93cf84-d023-4222-9b56-f096d9e5df35",
                "serviceType": "INSURANCE",
                "ssrCode": "INS1_VNBVGTDTD_TD",
                "ssrId": "BV-GTD-TRAVEL DELAY-WD-1W",
                "ssrAmount": 35000,
                "ssrName": "B%E1%BA%A3o%20hi%E1%BB%83m%20tr%E1%BB%85%20chuy%E1%BA%BFn%20bay"
                }
            ]
            }
        ],
        "osiCodes": [],
        "taxReceiptRequest": {
            "bookingNumber": "ADCO2107211224000",
            "taxReceiptRequest": false
        }
    }
```

#### Response <a href="#response_4" id="response_4"></a>

| Parameter                           | Description                                         |
| ----------------------------------- | --------------------------------------------------- |
| bookingCode (BookingCode, Optional) | Update information and reserve seats                |
| bookingCode(String, Optional)       | Code used to describe basic information of booking  |
| bookingNumber(String, Optional)     | Code used to refer to booking. This code is unique. |
| duration(Integer, Optional)         |                                                     |
| errors (Array\[Error], Optional)    |                                                     |
| infos(Array\[Info], Optional)       |                                                     |
| success(Boolean, Optional)          |                                                     |
| textMessage(String, Optional)       |                                                     |

**Example**

```json
{
    "bookingCode" : {
        "bookingCode" : "BOD::210721::86088c0e-d84e-46e1-913c-5d450418a951",
        "bookingNumber" : "ADCO2107211224000"
    },
    "duration" : 15948,
    "errors" : null,
    "infos" : null,
    "isSuccess" : null,
    "otpServiceRes" : {
        "duration" : null,
        "errors" : null,
        "expDate" : null,
        "expired" : null,
        "fullQuota" : null,
        "infos" : null,
        "isSuccess" : null,
        "lifeTimeInMin" : null,
        "matched" : null,
        "notFound" : false,
        "outOfSlot" : null,
        "phoneNumber" : null,
        "serviceID" : null,
        "smsServiceAvailable" : null,
        "success" : true,
        "tag" : null,
        "textMessage" : null,
        "used" : null,
        "verificationCode" : null
    },
    "success" : true,
    "textMessage" : null
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.gotadi.com/english/b2b2c-partner/api-method/flight/booking-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
