Booking API

Ticket Status Check API

POST: /api/air-tickets/revalidate

Check ticket availability before booking

Request Body

ParameterDescription

searchId(String, Required)

Data used to refer to search results

This data is taken from the return results of airline ticket search

groupId(String, Required)

Journey identifier in the list of journeys returned by search results

fareSourceCode(String, Required)

Journey identifier information

Example

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

Response

ParameterDescription

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

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

Create draft booking API

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

Create draft booking with ticket info

Request Body

ParameterDescription

itineraryInfos (Array[ItineraryInfo], Required)

Outbound + return journey information (if any)

searchId(String, Required)

Data used to refer to search results

This data is taken from the return results of airline ticket search

groupId(String, Required)

Journey identifier in the list of journeys returned by search results

fareSourceCode(String, Required)

Journey identifier information

Example

    {
        "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

ParameterDescription

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)

Information showing the type of booking: Domestic or international

DOME: Domestic

INTE: International

departDraftItineraryInfo (DraftItineraryInfo, Required)

Outbound itinerary information

bookingDirection(String, Required)

Direction information

DEPARTURE: Departure direction

RETURN: Return direction

TRIP: Used for international tickets (outbound + return)

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

    {
        "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

GET: /api/products/booking-detail

Get details of booking

Parameter

ParameterDescription

bookingNumber (String, Required)

Reference code to booking

Example

?bookingNumber=ADCO2107201223969

Response

ParameterDescription

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

    {
        "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

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

Get list of special service request that can be purchased

Parameter

ParameterDescription

bookingNumber (String, Required)

Reference code to booking

Example

?bookingNumber=ADCO2107201223969

Response

ParameterDescription

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

{
    "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 APIjson

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

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

Request Body

ParameterDescription

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

    {
        "bookingNumber": "ADCO2107211224000",
        "bookingContacts": [
            {
                "email": "dang.nguyenhai@gotadi.com",
                "firstName": "HAI DANG",
                "phoneCode1": "84",
                "phoneNumber1": "0932909474",
                "surName": "NGUYEN",
                "bookingNumber": "ADCO2107211224000"
            }
        ],
        "bookingTravelerInfos": [
            {
            "traveler": {
                "adultType": "ADT",
                "documentNumber": null,
                "documentExpiredDate": null,
                "firstName": "HAI DANG",
                "gender": "MALE",
                "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

ParameterDescription

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

{
    "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
}

Last updated