Retrieve Ticket
Retrieve detailed information about an issued ticket including ticket details, passenger information, and fare breakdown.
Endpoint
- URL:
/api/v1/ticket/retrieve - 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 | System code (e.g., VN, VJ, 1A) |
| ticketType | string | No | Ticket type: TKT (Flight ticket), EMD (EMD ticket) |
| ticketNumber | string | No | Ticket number |
| bookingCode | string | No | Booking code |
Example Request:
{
"system": "VN",
"ticketType": "TKT",
"ticketNumber": "738-1234567890",
"bookingCode": "XSDEFG"
}
Request Constraints & Business Rules
- The
ticketNumberorbookingCodemust be provided to identify the ticket. - The
systemshould match the system where the ticket was issued. - Only issued tickets can be retrieved (not voided or refunded tickets unless specified).
- EMD tickets require
ticketTypeto be set to "EMD". - Access to ticket information may be restricted based on user permissions.
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) |
| ticket | object | Yes | Ticket information (see Ticket object) |
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 - EMD) |
| 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",
"ticket": {
"index": 1,
"passengerId": "PAX001",
"passengerType": "ADT",
"surname": "NGUYEN",
"givenName": "VAN A",
"bookingCode": "ABC123",
"ticketNumber": "738-1234567890",
"ticketType": "TKT",
"ticketStatus": "OPEN",
"serviceType": "FLIGHT",
"serviceCode": "",
"issueDate": "2024-06-01T10: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.
- Ticket access is controlled based on user permissions.
- Sensitive information may be masked based on user role.
- All retrieval actions are logged and traceable.
Validation Questions
- What ticket statuses are retrievable (issued, voided, refunded)?
- Are there restrictions on retrieving tickets from different systems?
- How is sensitive passenger information protected in ticket details?
- What information is available for EMD tickets vs. flight tickets?
For integration support, see Contact Support.