Overview
a. This Service enables to pay and issue an order for the selected flight offer[1] and seat[1..*] (Issue EMDs on successful seat purchase in the same transaction).
b. This Service enables to create a Hold booking without payment for the selected flight offers (Seat not allowed for Hold booking)
c. Both booking (PNR) and document (ETicket and EMDs) details are returned in the OrderViewRS. Only PNR details are returned for Hold booking
NDC Schema: IATA OrderCreateRQ and OrderViewRS v21.3.
Pre-condition(s)
- Sequence of NDC-Service calls (Note: SeatAvailability is Optional)
- a) AirShopping (sequence 1) → OfferPrice (sequence 2) → OrderCreate (sequence 3) without Payment (Hold Booking)
- b) AirShopping (sequence 1) → OfferPrice (sequence 2) → SeatAvailability (sequence 3) → OrderCreate (sequence 4) with Payment
- OfferPrice response: Priced OfferID and Upsell Offer(s) are valid for 20 minutes, within the time-limit OrderCreate request has been triggered
- Selected (free/paid) SeatNumbers from SeatAvailabilityRS
- Selected Alacarte offer from ServiceListRS
- Requestors (Travel Agency, Meta-Search, and TMC) must have an agreement with Virgin Atlantic
In Scope
Form of Payment - Credit Card - Secured (3D Secure 2.0).
The Card is enrolled under 3DS 2.0:
-
Partner drives authentication and Airline drives authorization process – Partner will handle the authentication and challenge flow and as part of OrderCreate request will provide the necessary data items to be used in the card authorization.
On Authorization success, an Order with flight segments and/or Seats (free/paid) is created with e-Tickets documents issuance, EMDs and Form-of-Payment. A confirmation email sent to the customer.
The transaction will be processed as normal and may be successful or declined based on standard criteria; sufficient funds, correct security code entered and so on.
Note: VAA assumes the partner will use their own BINs/MIDs to perform the authentication, however if the Partner requires VAA values, then VAA will provide the following reference on request:
-
VAA’s Acquirer Bank Identification Number (BIN) for each card type (e.g., Visa, AMEX).
-
VAA’s Merchant Identifier (ID) Number assigned by the acquirer to VAA for use in transaction authorization (e.g., for Visa, AMEX).
-
VAA merchant name that will be used in card payment authorization/settlement.
-
The 2-digit country code where the card transaction will be processed.
-
Merchant category code as required for Mastercard transactions.
Request
-
A Priced/Other Offer ID with OfferItemID(s)
-
Pax details with Contact info
-
Secured 3DS 2.0 payment where Partner drives authentication (For Online Sellers)
-
Payment information without 3DS2 authenticated information for Offline sellers
-
Free/ Paid Seats (Ancillary)
-
Frequent Flyer details
-
Hold Booking (based on Payment time-limit) i.e OrderCreateRQ without payment details
-
India GST details
-
Passenger APIS details along with PAX information
-
Alacarte OfferItem from ServiceListRS (free of charge services)
Response
-
OrderID with a Booking/PNR with Pax/Individual details
-
e-Ticket document per Pax, EMD per Paid Seat
-
Confirmation Email - sent to one requested email address
-
PaymentTimeLimitDateTime for Hold Booking
-
India GST details
-
Passenger details with APIS information
Out of Scope
- Multiple/ Split Form of Payments
- Group Booking
- Personalized Offer
- Redemption
- AFOP (Bank transfer, wallet etc)
- Secured 3DS 2.0 payment where Airline drives authentication
- Airline drives Authentication and Authorization process
Endpoints
Sandbox Environment
This is a complete replica of production and a test environment where developers can build against our NDC APIs and validate their code for build of new features, ahead of certification and go-live. This environment should also be used for debugging
Preview Environment
This environment will have the same capability features as Sandbox but in addition we may deploy breaking changes or new features in advance of release to Sandbox and Production in order to give developers early visibility.
https://ndcdeveloper.virginatlantic.com/SalesAndRevenueManagement/OrderShopping/OrderManagement/v1/OrderCreate
https://ndcdeveloper.virginatlantic.com/preview/SalesAndRevenueManagement/OrderShopping/OrderManagement/v1/OrderCreate
Business Rules
Number of Pax
Supports only from 1 to 9 passengers. Request needs at least 1 x ADT Pax. Number of Infants cannot be greater than Adult passengers. Groups are out of scope.
Passenger Type
Supported Passenger Type Codes (PTC) are following:
PTC Code [ENUM] |
Name |
Age |
PaxID |
ADT |
Adult |
16 years or over |
ADULT_1 |
CHD |
Child |
2 to 12 years |
CHILD_1 |
GBE |
Young Adult |
12 to 16 years |
YOUNG_1 |
INF |
Infant |
Less than 2 years |
INFANT_1 |
OrderCreate request will validate Age for the requested PTC (Origin Departure date - Date of Birth)
Uniquely request PaxID based on PTC (refer PaxID column).
Service cannot be called for Unaccompanied Minor [PTC: CHD, GBE] for travelling alone
Field Length
Service accepts the following field length and characters, else it returns an error
Attribute/Field |
Max-Length in Char |
Accepted Characters |
Individuals/GivenName |
1 to 19 |
Only letters, blanks |
Individuals/Surname |
2 to 35 |
|
EmailAddress/EmailAddressText |
64 |
Email validation |
ID <-> RefID Syntax/Format
ID <-> RefID attribute request/response formats are shown as follows:
ID |
RefID |
Syntax |
Example |
PaxJourneyID |
PaxJourneyRefID |
"JOUR"+<number counter> |
JOUR1 |
PaxSegmentID |
PaxSegmentRefID
SegmentRefs |
"SEG"+<number counter> |
SEG1 |
PaxID |
PaxRefID
PassengerRefs |
Refer PaxID based on PTC |
ADULT_1 |
ServiceID |
ServiceRefID |
"SV"+<number counter> |
SV1 |
BaggageAllowanceID |
BaggageAllowanceRefID |
"BAGA"+<number counter> |
BAGA1 |
Offer
The requested OfferID in OrderCreate request must be from be from the previous OfferPrice response (else it returns an error).
OfferPrice response OfferID and Upsell-OfferID(s) are valid for 20 minutes, within the time-limit OrderCreate request must be triggered, otherwise, the OfferID will be invalid and will return an error on request).
Payment Failure
E-Ticketing Issuance has failed but Payment has been successful. In this case, Service will return an error with payment rollback and cancellation of the created OrderID and Booking.
Payment Cards
Supported Payment Card Types.
Credit Card Issuers |
Vendor Code |
Visa |
VI |
MasterCard |
CA |
American Express |
AX |
Diners |
DC |
Discover |
DS |
UATP |
TP |
Maestro |
TO |
The service returns an error, when the OrderCreateRQ request contains no Contact [email, phone] details.
The service sends an eTicket Confirmation email after successful payment, booking creation and issued eTicket(s)
Party Authentication
The service checks if the agent calling the service has the rights. If the agent does not have such authority, then the service will not process and will return an error.
Program Code
Supported Program Code – ENUM values. Invalid Program Code will return an error.
Program Name |
Program Code - ENUM values |
Virgin Atlantic/Flying Club |
VS |
Delta Air Lines / Sky Miles |
DL |
KLM/ Sky Team |
KL |
Air France/ Sky Team |
AF |
Air China / Phoenix Miles |
CA |
Air New Zealand / Air Points |
NZ |
All Nippon Airways / ANA Mileage Club |
NH |
Hawaiian Airlines / Hawaiian Miles |
HA |
Malaysia Airlines / Enrich |
MH |
Singapore Airlines / Kris Flyer |
SQ |
South African Airways / Voyager |
SA |
Virgin America / Elevate |
VX |
Virgin Australia / Velocity |
VA |
Frequent Flyer/Loyalty Program
For Program Code VS, DL (Virgin Atlantic/Flying Club, Delta Airline/Sky Miles) the entered Loyalty/Frequent Flyer Number is validated with the Passenger Given + Surname. Mismatch in Frequent Flyer Number and Name will return an Warning in the response
Partner Frequent Flyer Program
For Partner Codes – KL, AF, CA, NZ, NH, HA, 9W, SK, MH, SQ, SA, VX, VA Only the entered Loyalty/ Frequent Flyer Number - Syntax/ Algorithm is validated (Passenger name validation/ check is not done)
Billing Address - Payment failed
For US & CA countries – Address information is validated (Street, City, Zip-code, State) If given Address is Invalid – Error code: 317 & 708 is returned.
Seat Fulfilment Rules
Before Seat Payment, we will revalidate the seat price & its availability with or without Frequent Flyer.
If Availability for the requested seat is Occupied or taken over. We will not continue with the seat payment for other passenger(s) in the same segment:
- Warning message will be returned
- VS Seat proximity rule is applied
If Seat price is discounted due to frequent flyer in the request. We will continue Payment with the seat discounted price:
- Warning message will be returned
For any Seat related issues, warning message will be returned in the OrderViewRS.
3DS2 Payment Authorization Rules
Before proceeding for payment authorization, we will be validating received ECI values and authentication status.
Card Type |
ECI Values |
Authentication Status |
Remarks/Results |
Visa, American Express, Diners Club, and Discover |
05 |
Y- Customer authenticated. |
The issuer has authenticated the cardholder by verifying the password or other identity information.
Proceed with the authorization request |
06 |
A- An authentication attempt occurred but could not be completed. |
Attempted to authenticate the cardholder, but either the cardholder or issuer was not participating.
Proceed with the authorization request |
07 |
N- Customer not authenticated. |
Authentication failed. Partners should not send authentication results. Merchant should not submit authorization request.
Transaction will be stopped with error message |
07 |
U- Unable to perform authentication |
Unable to Authenticate or Card Not Eligible for Attempts (such as a Commercial or anonymous Prepaid card).
Transaction will be stopped with error message |
Master |
02 |
Y- Customer authenticated |
The issuer has authenticated the cardholder by verifying the password or other identity information.
Proceed with the authorization request |
01 |
A- An authentication attempt occurred but could not be completed. |
Attempted to authenticate the cardholder, but either the cardholder or issuer was not participating.
Proceed with the authorization request |
00 |
N- Customer not authenticated |
Authentication failed. Partners should not send authentication results. Merchant should not submit authorization request.
Transaction will be stopped with error message |
00 |
U- Unable to perform authentication |
Unable to Authenticate or Card Not Eligible for Attempts (such as a Commercial or anonymous Prepaid card).
Transaction will be stopped with error message |
Note: We are in discussion with VAA Business on the expected behaviour for ECI values and authentication status. The above table may be revised in due course.
- For successfully authenticated transactions, the following mandatory field values must be sent with Order request:
- CAVV, ECI, EnrollmentStatus and CustomerAuthStatus
Hold Booking
An Order without ticket is created when OrderCreateRQ is called without the payment section. These type of orders will have a payment time limit, within which the Order must be ticketed. In the case of time limit expiration, the inventory will be released and the seller must start over again.
India GST
Goods and Service Tax (GST) will be accepted for agents based out of India, and will be added to the PAX details in the PNR. Applicable only if at least one segment originates from an Indian city.
Services (SSR)
Available services that are returned from the ServiceList API (as Offers) can be requested to be added for each passenger along with flight and seat in the OrderCreateRQ.
Feedback for this page? How was your experience? Please click
here