Overview
This Service returns a 'customer-centric, priced seatmap', with one or more flights for the requested OfferID (before order creation or OrderID).
NDC Schema: IATA SeatAvailabilityRQ and SeatAvailabilityRS v21.3
Pre-condition(s)
- There is an existing Offer, and the partner knows the OfferID
- Sequence of NDC service calls:
- Path One: AirShopping (sequence 1) → OfferPrice (sequence 2) → SeatAvailability (sequence 3)
- Order is created and the partner knows the OrderID
- Sequence of NDC service calls:
- Path Two: OrderRetrieve (sequence 1 - Optional) → SeatAvailability (sequence 2)
- OfferPrice response: OfferID(s) are valid for 20 minutes, within the time-limit SeatAvailability request has been triggered
- Requestors (Travel Agency, Meta-Search, and TMC) must have an agreement with Virgin Atlantic. The requestors should have created the order
Post-condition(s)
- Green Path: Partner has [1..*] seatmap with free & paid seats.
- Red Path: No seatmap is returned.
- Once the seat(s) are selected:
- OrderCreateRQ should be called to book the seat(s) along with the Flight Offer (for Instant Purchase Flow).
- OrderChangeRQ should be called to reserve the seats (for paid seat, payment card must be provided)
In Scope
Request
-
OfferID from PricedOffer or from OtherOffers (ie Upsell Offers) from OfferPriceRS
-
An OrderID from OrderViewRS
-
GDS Booking ID (VS PNR) in place of Order ID
Response
-
Seatmap is returned only for VS Operated Flights
-
One seatmap per VS Operated Flight
-
Each seatmap returns the following:
-
Exit Row, Wing position
-
Seat column and row details
-
Seat characteristics and seating policy
-
Seat Occupation status
-
Pricing for different seat categories
-
Emergency Exit row restrictions for Passenger(s) with Infant
-
Terms and Conditions for Emergency Exit seats
Out of Scope
- Seatmap for Code-Share Operated flights. That means no seat maps are provided for:
- VS marketed / OA operated codeshare flights
- OA marketed flights
- Seat Upsell (From Economy → Premium/ Upper-Class)
- Possibility to validate Seat number(s) for Availability and Price in OfferPriceRQ
- Show previously selected Seats in the SeatAvailabilityRS
- Possibility to block selected seat[s] before calling OrderCreateRQ
- Capability to request for specific flight/passenger within the Order
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/OfferManagement/v1/SeatAvailability
https://ndcdeveloper.virginatlantic.com/preview/SalesAndRevenueManagement/OrderShopping/OfferManagement/v1/SeatAvailability
Business Rules
Number of Pax
- Only supports from 1 to 9 passengers. Request needs at least 1 x ADT Pax. Groups are out of scope.
- Number of Infants cannot be greater than Adult passengers.
- Passengers with Infant/ Child are not Offered Exit row seats.
- One Seatmap is returned per Flight. One seat can be selected per Passenger.
- Infants (INF – Infant on Lap) are not eligible for Seats selection. Seating rules are defined in
DisclosureList
.
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.
The service checks if the agent calling the service is the one who has created the order. If an order is not created by the calling entity, then the service will return an error.
CabinTypeCode
In the response- CabinTypeCode as per PADIS Codeset - 9873
Cabin Code [ENUM] |
Supported |
VS Brand Name |
1 |
NO
|
Not Applicable - will return error
|
2 |
YES |
Upper Class (Business) |
4 |
YES |
Premium Economy (Comfort Plus) |
5 |
YES |
Economy |
Economy Light |
|
Economy Classic |
|
Economy Delight |
7 |
NO
|
Not Applicable - will return error
|
CabinTypeName
String: BUSINESS [2], PREMIUM ECONOMY [4] and ECONOMY [5]
DeckCode
ENUM: Upper, Main and Lower
CabinColumnID or ColumnID
Column Position String: A (Aisle), W (Window), MS (Centre), WA (Window Aisle)
Returned Format: ColumnID_Position
GDS PNR
PNR created in a GDS (with VS Flight segment) should be used to in place of OrderID. Only the VS booking reference can be used in SeatAvailability RQ. If the booking doesn’t have VS ticket (932), the booking will not be returned, and Seat Availability will fail.
Feedback for this page? How was your experience? Please click
here