Issue Ticket
Issue flight tickets for confirmed bookings. This endpoint handles ticket issuance for both traditional and NDC bookings with various payment options.
Endpoint
- URL:
/api/v1/flight/issueticket - Method:
POST - Auth Required: Yes (Bearer Token/X-API-KEY)
- Content-Type:
application/json
Authentication
This endpoint requires a valid JWT Bearer token in the Authorization header:
Authorization: Bearer <access_token>
Obtain tokens via /api/v1/sign-in (POST) with your credentials.
Request Structure
| Field | Type | Required | Description |
|---|---|---|---|
| system | string | No | Ticketing system (e.g., VN, VJ, 1A) |
| bookingCode | string | No | Booking code (PNR) |
| comAmount | number | No | Commission amount value |
| comPercentage | boolean | No | Whether commission is percentage (true) or fixed amount (false) |
| bookerCode | string | No | Booker code - Agent code or representative booking code |
| tourCode | string | No | Promotional code used for some airlines |
| caCode | string | No | Corporate account code |
Example Request:
{
"system": "VN",
"bookingCode": "ABC123",
"comAmount": 5.0,
"comPercentage": true,
"bookerCode": "AGENT001",
"tourCode": "PROMO2024",
"caCode": "CORP001"
}
Request Constraints & Business Rules
- The booking must be confirmed and ready for ticketing.
- Validating carrier must be authorized for ticket issuance.
- Commission rates must comply with airline agreements.
- Tour codes must be valid and active for the specified airline.
- Payment method must be authorized for the user/agency.
- NDC bookings require additional payment information.
- Time limits for ticket issuance must be respected.
- All required passenger information must be complete.
Response Structure
| Field | Type | Nullable | Description |
|---|---|---|---|
| system | string | Yes | System name (e.g., VN, VJ, 1A) |
| status | boolean | No | true if successful, false if failed |
| error | object | Yes | Error details (if any) |
| description | string | Yes | Error description (if any) |
| trackingId | string | Yes | Tracking ID for request logs |
| trackingTime | string | Yes | Time for request tracking (ISO 8601 format) |
| tickets | array | Yes | List of issued tickets |
BookingTicket Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| index | integer | No | Ticket sequence number |
| passengerId | string | Yes | Passenger ID |
| passengerType | string | Yes | Passenger type (ADT, CHD, INF) |
| surname | string | Yes | Passenger surname |
| givenName | string | Yes | Passenger given name |
| bookingCode | string | Yes | Booking code (PNR) |
| ticketNumber | string | Yes | Ticket number |
| ticketType | string | Yes | Ticket type (TKT - Flight ticket, EMD - Electronic Document) |
| ticketStatus | string | Yes | Ticket status (OPEN, VOID, USED, RFND, EXCH, TORFND) |
| serviceType | string | Yes | Service type (FLIGHT, BAGGAGE, SEAT, SSR) |
| serviceCode | string | Yes | Service code |
| issueDate | datetime | Yes | Ticket issue date |
| ticketInfo | string | Yes | Full ticket information string |
| baseFare | number | No | Base fare amount |
| taxes | number | No | Total taxes |
| totalFare | number | No | Total fare amount |
| currency | string | Yes | Currency code |
| taxDetails | array | Yes | Tax details (see TaxDetail) |
| couponInfos | array | Yes | Coupon information (see CouponInfo) |
| relatedNumber | string | Yes | Related ticket number |
| relatedType | string | Yes | Related type (EXCH, RFND, ORGN) |
| endorsement | string | Yes | Endorsement information |
| faceTicket | string | Yes | Face ticket string |
Example Response:
{
"system": "VN",
"status": true,
"error": null,
"description": null,
"trackingId": "abc-123",
"trackingTime": "2024-06-01T12:00:00Z",
"tickets": [
{
"index": 1,
"passengerId": "pax-001",
"passengerType": "ADT",
"surname": "NGUYEN",
"givenName": "VAN A",
"bookingCode": "ABC123",
"ticketNumber": "2389876543210",
"ticketType": "TKT",
"ticketStatus": "OPEN",
"serviceType": "FLIGHT",
"serviceCode": "",
"issueDate": "2024-06-01T12:00:00",
"ticketInfo": "PAX 738-2300031330/ETVN/10APR24/HANVN28DB/37963973",
"baseFare": 2000000,
"taxes": 350000,
"totalFare": 2350000,
"currency": "VND",
"taxDetails": [],
"couponInfos": [],
"relatedNumber": null,
"relatedType": null,
"endorsement": "NON-REFUNDABLE",
"faceTicket": null
}
]
}
Error Codes
See Error Codes for details on possible error responses.
Security & Validation
- All input is validated for type and required fields.
- Only authenticated users can access this endpoint.
- Booking codes are verified against existing confirmed bookings.
- Commission rates are validated against airline agreements.
- Tour codes are verified for validity and authorization.
- All ticket issuance actions are logged and traceable.
- Payment information is validated for NDC transactions.
Validation Questions
- What are the time limits for ticket issuance after booking confirmation?
- How are commission rates validated against airline agreements?
- What payment methods are supported for different airlines?
- How are EMD (Electronic Miscellaneous Document) tickets handled?
For integration support, see Contact Support.