WELCOME TO VANILLA AIR [JW]

Similar documents
SunExpress IBS NDC Platform. P a g e 0 DEVELOPER S GUIDE

Pricing Airline Optional Services

Digital Commerce Platform

New Skies Customer-centric reservation and distribution system

Galileo Low Cost Air. Agency Administrators Guide v1.8. Page 1

Questions and Answers

Aerolabs. E-commerce platform

More Price Points on British Airways Short Haul Services

Concur Travel FAQs. 5. How do I log in to Concur Travel? Visit or the link may be provided on the company Intranet.

Amadeus Global Distribution System (GDS) CRS

The Skyscanner guide to NDC. Enable the future of airline retailing to benefit from upsells in 30 days

NDC SOLUTIONS WHITE PAPER

Egencia Special Report: How Leading Companies Leverage Egencia Technology to Drive Cost Savings

March 2017 USING PRESTO ON GO TRANSIT

GALILEO AUTOMATED REFUNDS AND EXCHANGES (ARNE) FREQUENTLY ASKED QUESTIONS

Welcome to British Airways American Express Corporate Card Programme. Cardmember benefits and services

Lufthansa accelerates the progress of travel innovation. DXC Technology services designs and implements Open API for leading German airline

Modify a Sabre Vacations Reservation

Release Notes Bargain Finder Max Schema Version Release December 2014

AirWaves FAQ s. Q: What is AirWaves?

ACP RailNet 2 User Guide

Loging in... 2 Finding tickets... 3 Taxy transfer... 7 Finishing the purchase... 8 Discounts... 9 Returing bus tickets/taxy transfer...

NDC Change Readiness Guide For Airlines

FAQ. Where can I fly? For a list of destinations, please refer to the Virgin Australia redemption examples table on the next page:

Multi Travel Software for Travel Agencies

FOR MORE INFORMATION:

Historical Pricing Red App

Millennium. Release Notes. April 2013 Update. Version

Sabre Virtual Payments LCC Air

Travel Retailing Takes Off. OpenJaw 2016 Insights and Predictions Report

Yield Management. Serguei Netessine 1 The Wharton School University of Pennsylvania

Sabre Virtual Payments LCC Air

Revenue Accounting Solutions

Amazon Fulfillment Web Service. API Reference Version 1.1

IRCTC. Blackberry 10 User Manual. MMAD Apps India Private Limited. (BlackBerry Partner) Developed & Supported by

West Virginia Purchasing Division 2017 Agency Purchasing Conference

To: CEO, Jason Chan From: Georgiana Lim Date: xxxxxxx Subject: Break-even points, profit margin, asset turnover and ROI for Kowloon Airlines Limited

Amadeus Hotel Store. User guide 16 March Taking hotel consolidator content to a new level with Transhotel

IMAGINE IT. BUSINESS TRANSFORMATION. REAL CUSTOMER RETURNS. Done. Imagine it

SERKO. Serko (ORIGIN)

At the Heart of Maximizing Ancillary Revenues

B2B ecommerce Requirements

Specialized Travel Domain Products

DYNAMIC PRICING UPDATE 1.0 APRIL atpco.net

PERSPECTIVE. A connected enterprise in the sky. Abstract. Manoj Narayan

Get to know CruiseMatch! In a few short pages, learn to create and service a Group Reservation. You will learn to do the following:

In this module, you will learn to place tickets on hold and sell tickets to a customer.

User Guide. handydart

Supplier Policies & Procedures

Direct Fare Filing Create Automated Net Remit Fares

MULTIPLE NIGHTS AND CLASSES TRIP, PAGE 1

ACCENTURE RESEARCH. TRAVEL FLASH RESEARCH CHINA INSIGHTS February, 2018

1 OMS Feature List. Version Date Changed by Description. 1.0 January 1 th, 2013 Eric Velez Created

Note: This functionality depends on carrier participation and applies to specific markets. Additional carriers and markets will occur as applicable.

Retail Channel Management and Corporate Operations. Microsoft Dynamics AX 2012 R3

Travelport e-pricing Release 4 Apollo and Galileo System Subscribers

Daily Operations Guide

What is MTA etix? Are there any fees for using mobile ticketing? How do I access MTA etix?

Independent Reseller Guidelines

Welcome to Hahn Air. ASTA 16 November Welcome to Hahn Air 17 November,

Release Notes (P)

Book Norwegian Complete Manual

City of La Habra Heights Dial-A-Ride

Revolutionize Your Business with Harbortouch

Airline Seat Allocation and Overbooking

User Guide. MyRide 1

Good morning everyone. I m Julia Sattel, Senior Vice President of Airline IT. It sapleasuretobehere.

06 March INVESTOR DAY 2018 Sabre GLBL Inc. All rights reserved. 1

01/18/2018 Blackbaud Altru 4.5 Tickets US 2018 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any

Strategisches Marketing-Management: Luxair & LuxairTours

MODULE 2: SALES PRICES AND DISCOUNTS

NorthStar Club Management System. Retail Point of Sale (RPOS) Version General Users Guide RPOS

3. How can I receive Chan Brothers Travel promotions and discounts? There are several ways you can find out about travel promotions and discounts:

GREYHOUND EXPRESS. User Guide. August Version 3.0. Greyhound EXPRESS - User Guide

Automan. Point of Sale. AUTOMAN POS (Web based Point Of Sale) For Retailer & Supermarket

Infor LN Configuration Guide for Infor ION API. Infor LN 10.5 Xi Platform 12.x

Work Orders Quick Reference

Amazon Fulfillment Web Service. Developer Guide Version 1.1

FORT WORTH TRANSPORTATION AUTHORITY

Global System Setup. Description Version Ref # Opt# Credit Card configuration New Mandatory Options

IPA v.2 User Manual International Operations 2/11/2010 1

Event Management and Ticketing Software, RFP#14-079

UNIT TITLE: RECEIVE AND PROCESS RESERVATIONS NOMINAL HOURS: 35

AFFILIATE PROGRAM Allysian Sciences Inc. REV V

Tickets for the Airport Shuttle

The fuzzy clustering method: Applications in the air transport market in Taiwan Received (in revised form): 4th August, 2003

Summary Marketing Plan 1. Summary Marketing Plan

MARKET AND FUTURE DEVELOPMENTS OF AIRLINE DISTRIBUTION

Discussion Paper Advances in Airline Pricing, Revenue Management, and Distribution

Ready Credit Corporation Airport Cashless Lobby

Profitability through Galileo RoomMaster

Babu Madhav Institute of Information Technology, UTU 2017

Sage 300 Retail Management by InfoCentral

MEMBERSHIP PRODUCT MATRIX

Working Draft: Airlines Revenue Recognition Implementation Issue. Financial Reporting Center Revenue Recognition

Fly Culture. from Etihad Cargo

PRODUCT INFORMATION MANAGEMENT

Penny Lane POS. Basic User s Guide

Making PayPal work for you. Welcome Kit

Sales Distribution and Customer Service. November 12, 2015

Transcription:

1 DEVELOPER S GUIDE WELCOME TO VANILLA AIR [JW] An airline flying in Japan and offering seats and services. IBS Software Services 2018 Page No. 1

2 DEVELOPER S GUIDE Executive Summary Airline market challenges have favoured the inauguration of a new electronic communication schema that will introduce the retailing spirit in the distribution of air products to corporations, leisure and business travellers. Since 2012, IATA has being leading a collaborative industry initiative to define a novel XML based schema the New Distribution Capability (NDC) for promoting product differentiation and time to market, access to full and rich air content and finally, transparent shopping experience. Vanilla Air was founded in November 2013 by the largest carrier of Japan, All Nippon Airways. Today, Vanilla Air carries around Five million passengers per year. Vanilla Air has a fleet of 13 Airbus A320-200s operating across Japan, Taiwan, Phillippines, Vietnam & Hong Kong. ifly Res, the state-of-the-art software from IBS, the new system contains the distribution standard for ticket sales, the NDC - New Distribution Capability introduced by the International Air Transport Association (IATA). The simple and easy presentation of air fares and other travel services supports both the daily work volume of Vanilla Air partners within the travel industry and the demand of consumers using the newly redesigned website Vanilla Air.com. The Vanilla Air website is now being used more and more intensively for travellers direct bookings, for immediate travel modifications. ifly Res is also the only PSS to have NDC embedded in its core. IBS has built NDC message capability into the core messaging components of the PSS, but also by the expanded certification of NDC messages with IATA. The NDC platform is enabled with a total of 34 messages the most complete certified message set of any vendor. We are proud to be one of the first NDC-enabled airlines and we want to share our enthusiasm with any developer wishing to experience the emerging distribution era. So we welcome you to connect to our platform and search for our available flights or services, order the ones your prefer. IBS Software Services 2018 Page No. 2

3 DEVELOPER S GUIDE Vanilla Air serves 11 destinations Across Japan, Hong Kong, Taiwan, Vietnam & Philippines IBS Software Services 2018 Page No. 3

Sample routes for Hackathon Domestic Flights NRT - OKA CTS NRT NRT - KIX International Flights NRT - HKG NRT - TPE NRT - CEB

SunExpress IBS NDC Platform 1 DEVELOPER S GUIDE Vanilla Air Ancillary Services Sample Service Fee Rules. ## Prices are indicative. Service Name Seat Seat Bag Bag Service Short Description Extra Leg-room Extra Leg-room Extra Bag Extra Bag Routes Origin Destination NRT OKA OKA NRT NRT CTS CTS NRT NRT KIX KIX NRT NRT HKG HKG NRT NRT TPE TPE NRT NRT CEB CEB NRT NRT OKA OKA NRT NRT CTS CTS NRT NRT KIX KIX NRT NRT HKG HKG NRT NRT TPE TPE NRT NRT CEB CEB NRT Travel Type Cabin Cost Service Code Domestic Economy 1,000 JPY XLEG International Economy 1,200 JPY XLEG Domestic International Economy Economy 1,000 JPY (+5kg) 2,000 JPY (+10kg) 3,000 JPY (+15kg) 4,000 JPY (+20kg) 5,000 JPY (+25kg) 6,000 JPY (+30kg) 1,000 JPY (+5kg) 2,000 JPY (+10kg) 3,000 JPY (+15kg) 4,000 JPY (+20kg) 5,000 JPY (+25kg) 6,000 JPY (+30kg) XBAG XBAG IBS Software Services 2018 Page No. 1

Supported Airplane Types & Seat Maps

3 DEVELOPER S GUIDE Airbus A320-200 Seat Map Key IBS Software Services 2018 Page No. 3

4 DEVELOPER S GUIDE Supported NDC APIs (V 15.2) IBS Software Services 2018 Page No. 4

5 DEVELOPER S GUIDE IFLY RES NDC API SERVICES 1. AirDocDisplay 2. AirShopping 3. BaggageAllowance 4. BaggageCharges 5. FlightPrice 6. FareRules 7. InvGuarantee 8. InvReleaseNotif 9. OrderCreate 10. OrderRetrieve 11. OrderList 12. ServiceList 13. ServicePrice 14. SeatAvailability 15. ItinReshop 16. OrderCancel IBS Software Services 2018 Page No. 5

6 DEVELOPER S GUIDE NDC PROCESS FLOW 1. Order Creation IBS Software Services 2018 Page No. 6

7 DEVELOPER S GUIDE 2. Retrieve Order IBS Software Services 2018 Page No. 7

8 DEVELOPER S GUIDE 3. Cancel & Rebooking an Order IBS Software Services 2018 Page No. 8

9 DEVELOPER S GUIDE 4. Order Cancel IBS Software Services 2018 Page No. 9

DEVELOPER S 10 GUIDE Service Description & Sample Requests 1. AirDocDisplay Description This operation is used to retrieve the ticket information based on the search criteria. The ticket details search will be based on the ticket number and the operation will retrieve the ticket details including the details of conjunction tickets. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:airdocdisplayrq> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:ticketdocument> <edis:ticketdocnbr>5648440344021</edis:ticketdocnbr> </edis:ticketdocument> </edis:query> </edis:airdocdisplayrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 10

DEVELOPER S 11 GUIDE 2. AirShopping Description The AirShopping service will support the following basic search options. Basic One-Way search It will be possible to provide departure, arrival information and traveller information (represented by PTC) to list availability for the requested departure date and optional calendar days. All flights available for the requested dates will be displayed along with the one way fares and included ancillaries (if applicable) for the provided fare families. All fare information and fare class availability will be grouped inside an Offer. Each Offer, will be sub-divided into OfferItems, where an OfferItem corresponds to the fare information priced for a traveler type (Adult, Child or Infant categories) in the specified Point of Sale (POS) currency. It is the responsibility of the API consumer to find the product of the price per PTC and the PTC quantity, and display the total at this stage to the customer (passenger or agent). The OfferItem also contains the Fare Components (FCs) which were used to price the OfferItem. For one-way trips, the API consumer would normally need to refer the priced values at OfferItem level. This would contain the fare amount, discounts, applicable taxes and surcharges. Basic Round-trip or Multi-destination search It is possible to search for multiple Origin-Destination (OD) combinations. For roundtrip search, 2 ODs can be provided in the request. For multi-destination search up to 5 ODs will be supported. The Flight information would be provided for each of the searched ODs separately. The Offer in this case will be priced for the entire trip. This would mean that each Offer would correspond to a possible combination of Flights, and there will be exactly one Flight representing each and every requested OD. The Offer would be priced for all the Flights combined and the corresponding amounts would be available in the OfferItem for a PTC. If the API consumer does not wish to the Offer in this format, then a logic can be formulated at the consumer side to scan through each and every OfferItem, and check the Fare Components (FCs) involved. These FCs contain the basic price information for each Segment in the Flight. For example, consider a connection flight departing from BOM to DXB via DEL has the following segment a) XX100/BOM-DEL b) XX200/DEL-DXB IBS Software Services 2018 Page No. 11

DEVELOPER S 12 GUIDE For each offer encapsulating this connection flight, there would be two FCs say, FC_100* and FC_200*, for each of the flight segments. The consumer can scan through all OfferItems, and identify the relation between Flight Segments and OfferItems. Following this, the consumer can find out the unique FCs for each segment, and finally display Flight-Fare options for each OD on the User Interface (UI). Note: * means the IDs used to depict the FCs are for demonstration purpose only. These should not be considered as actual values Promo-code search option In combination with one-way and multi-destination trips, there is the option to specify a promo-code that can influence the pricing of the searched ODs. The request will support accepting a promo-code that is defined in ifly Res, and the corresponding discounts will be applied to the Offers in the response. The discounted price will be available at the OfferItem level as well as the FareComponent levels. Calendar dates (Lead Pricing) search option It is possible to specify the calendar dates before and after the searched Departure date for each OD. In case the searched dates are sold out or if there is no service for the particular date, the lowest fare amount will be indicated as below a) In case there are no flights operating on a particular date, the best fare amount will be represented as -1. This number (-1) implies that there are no flights operating on the particular day. b) In case there are flights on a particular day, but all booking classes are sold out, then this will be represented as -2. This number (-2) implies that all booking classes of all flights operating on the day are sold-out. IBS Software Services 2018 Page No. 12

DEVELOPER S 13 GUIDE Sample Request [1 Adult, One-way search] <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <AirShoppingRQ xsi:schemalocation="https://iflyrestest.ibsgen.com:6012/ires_ndcres_ws/services/ndcresservi cesoapport?xsd=../../xsd/ndcres/airshoppingrq.xsd" Version="" xmlns="http://www.iata.org/iata/edist" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"> <PointOfSale> <Location> <CountryCode>JP</CountryCode> </Location> </PointOfSale> <Document> <Name>NDC</Name> <ReferenceVersion>15.1.2</ReferenceVersion> </Document> <Party> <Sender> <AgentUserSender> <AgentUserID>*******</AgentUserID> </AgentUserSender> </Sender> <Recipient> <ORA_Recipient> <AirlineID>JW</AirlineID> </ORA_Recipient> </Recipient> </Party> <Travelers> <Traveler> <AnonymousTraveler> <PTC Quantity="1">ADT</PTC> </AnonymousTraveler> </Traveler> </Travelers> <CoreQuery> <OriginDestinations> <OriginDestination> <Departure> <AirportCode>ADA</AirportCode> <Date>2018-05-22</Date> </Departure> <Arrival> <AirportCode>AYT</AirportCode> </Arrival> <CalendarDates DaysAfter="0" DaysBefore="0"/> </OriginDestination> </OriginDestinations> </CoreQuery> <Preferences> IBS Software Services 2018 Page No. 13

DEVELOPER S 14 GUIDE <Preference> <FarePreferences> <Types> <Type> <Code>SunEco</Code> </Type> </Types> </FarePreferences> </Preference> <Preference> <TransferPreferences> <Connection> <MaxNumber>2</MaxNumber> </Connection> </TransferPreferences> </Preference> </Preferences> </AirShoppingRQ> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 14

DEVELOPER S 15 GUIDE Sample Request [1 Adult 1 Child & 1 Infant, One-way search] <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <AirShoppingRQ xsi:schemalocation="https://iflyrestest.ibsgen.com:6012/ires_ndcres_ws/services/ndcresservi cesoapport?xsd=../../xsd/ndcres/airshoppingrq.xsd" Version="" xmlns="http://www.iata.org/iata/edist" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"> <PointOfSale> <Location> <CountryCode>JP</CountryCode> </Location> </PointOfSale> <Document> <Name>NDC</Name> <ReferenceVersion>15.1.2</ReferenceVersion> </Document> <Party> <Sender> <AgentUserSender> <AgentUserID>*******</AgentUserID> </AgentUserSender> </Sender> <Recipient> <ORA_Recipient> <AirlineID>JW</AirlineID> </ORA_Recipient> </Recipient> </Party> <Travelers> <Traveler> <AnonymousTraveler> <PTC Quantity="1">ADT</PTC> </AnonymousTraveler> </Traveler> <Traveler> <AnonymousTraveler> <PTC Quantity="1">CHD</PTC> </AnonymousTraveler> </Traveler> <Traveler> <AnonymousTraveler> <PTC Quantity="1">INF</PTC> </AnonymousTraveler> </Traveler> </Travelers> <CoreQuery> <OriginDestinations> <OriginDestination> <Departure> IBS Software Services 2018 Page No. 15

DEVELOPER S 16 GUIDE <AirportCode>ADA</AirportCode> <Date>2018-05-22</Date> </Departure> <Arrival> <AirportCode>AYT</AirportCode> </Arrival> <CalendarDates DaysAfter="0" DaysBefore="0"/> </OriginDestination> </OriginDestinations> </CoreQuery> <Preferences> <Preference> <FarePreferences> <Types> <Type> <Code>SunEco</Code> </Type> </Types> </FarePreferences> </Preference> <Preference> <TransferPreferences> <Connection> <MaxNumber>2</MaxNumber> </Connection> </TransferPreferences> </Preference> </Preferences> </AirShoppingRQ> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 16

DEVELOPER S 17 GUIDE Sample Request [1 Adult 1 Child & 1 Infant, Return search] <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <AirShoppingRQ xsi:schemalocation="https://iflyrestest.ibsgen.com:6012/ires_ndcres_ws/services/ndcresservi cesoapport?xsd=../../xsd/ndcres/airshoppingrq.xsd" Version="" xmlns="http://www.iata.org/iata/edist" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"> <PointOfSale> <Location> <CountryCode>JP</CountryCode> </Location> </PointOfSale> <Document> <Name>NDC</Name> <ReferenceVersion>15.1.2</ReferenceVersion> </Document> <Party> <Sender> <AgentUserSender> <AgentUserID>*******</AgentUserID> </AgentUserSender> </Sender> <Recipient> <ORA_Recipient> <AirlineID>JW</AirlineID> </ORA_Recipient> </Recipient> </Party> <Travelers> <Traveler> <AnonymousTraveler> <PTC Quantity="1">ADT</PTC> </AnonymousTraveler> </Traveler> <Traveler> <AnonymousTraveler> <PTC Quantity="1">CHD</PTC> </AnonymousTraveler> </Traveler> <Traveler> <AnonymousTraveler> <PTC Quantity="1">INF</PTC> </AnonymousTraveler> </Traveler> </Travelers> <CoreQuery> <OriginDestinations> <OriginDestination> <Departure> IBS Software Services 2018 Page No. 17

DEVELOPER S 18 GUIDE <AirportCode>ADA</AirportCode> <Date>2018-05-22</Date> </Departure> <Arrival> <AirportCode>AYT</AirportCode> </Arrival> <CalendarDates DaysAfter="0" DaysBefore="0"/> </OriginDestination> <OriginDestination> <Departure> <AirportCode>AYT</AirportCode> <Date>2018-05-24</Date> </Departure> <Arrival> <AirportCode>ADA</AirportCode> </Arrival> <CalendarDates DaysAfter="0" DaysBefore="0"/> </OriginDestination> </OriginDestinations> </CoreQuery> <Preferences> <Preference> <FarePreferences> <Types> <Type> <Code>SunEco</Code> </Type> </Types> </FarePreferences> </Preference> <Preference> <TransferPreferences> <Connection> <MaxNumber>2</MaxNumber> </Connection> </TransferPreferences> </Preference> </Preferences> </AirShoppingRQ> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 18

DEVELOPER S 19 GUIDE 3. BaggageAllowance Description Baggage allowance service request contains the qualifiers such as passenger details, itinerary details including O&D and flight details, fare details, point of sale etc. to get the free baggage allowance for check-in bags. This service will not provide additional baggage options allowed by the airlines with additional charges. Details of allowed cabin baggage / carry-on baggage will not be provided in the baggage allowance response. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes">> <soapenv:header/> <soapenv:body> <edis:baggageallowancerq EchoToken="23452" TimeStamp="2016-11-21T23:38:00" Target="Production" Version="15.1" TransactionIdentifier="23" SequenceNmbr="4563453" TransactionStatusCode="Continuation" RetransmissionIndicator="true" CorrelationID="23423" AsynchronousAllowedInd="true"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:metadata/> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:travelers> <edis:traveler> <edis:anonymoustraveler> <edis:ptc Quantity="1">ADT</edis:PTC> </edis:anonymoustraveler> IBS Software Services 2018 Page No. 19

DEVELOPER S 20 GUIDE </edis:traveler> </edis:travelers> <edis:query> <edis:origindestination> <edis:origindestinationkey>jw_od_1492924013610</edis:origindestinationkey> <edis:flight refs="jw_fmd_1492924013601"> <edis:segmentkey>jw_seg_1492924013615</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>y</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:details> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> </edis:stops> </edis:details> </edis:flight> </edis:origindestination> </edis:query> <edis:metadata> <edis:shopping> <edis:shopmetadatagroup> <edis:offer> <edis:offermetadatas> <edis:offermetadata> <edis:augmentationpoint> <edis:augpoint Key="JW_FMD_1492924013601"> <ibs:faredetailaugpoint> <FareLevel>SUNECO</FareLevel> <FareBasis>ST</FareBasis> </ibs:faredetailaugpoint> </edis:augpoint> </edis:augmentationpoint> IBS Software Services 2018 Page No. 20

DEVELOPER S 21 GUIDE </edis:offermetadata> </edis:offermetadatas> </edis:offer> </edis:shopmetadatagroup> </edis:shopping> </edis:metadata> </edis:baggageallowancerq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 21

DEVELOPER S 22 GUIDE 4. BaggageCharges Description Baggage charges service request contains the qualifiers such as passenger details, itinerary details including O&D and flight details, fare details, point of sale etc. to get the list of charges for check in bags. ifly Res does not support fees for carry-on bags. The system will calculate the baggage charges after forming check-in-able groups and by applying baggage policy rules / fee rules on each check-in-able group. The baggage charges details will be provided at a trip / check-in-able group level in the response. If there is any tax to be applied over the baggage fees, that information will also be included in the response. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes"> <soapenv:header/> <soapenv:body> <edis:baggagechargesrq EchoToken="23452" TimeStamp="2016-11-21T23:38:00" Target="Production" Version="15.1" TransactionIdentifier="23" SequenceNmbr="4563453" TransactionStatusCode="Continuation" RetransmissionIndicator="true" CorrelationID="23423" AsynchronousAllowedInd="true"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:metadata/> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> IBS Software Services 2018 Page No. 22

DEVELOPER S 23 GUIDE <edis:travelers> <edis:traveler> <edis:anonymoustraveler> <edis:ptc Quantity="1">ADT</edis:PTC> </edis:anonymoustraveler> </edis:traveler> </edis:travelers> <edis:query> <edis:origindestination> <edis:origindestinationkey>jw_od_1492924013610</edis:origindestinationkey> <edis:flight refs="jw_fmd_1492924013601"> <edis:segmentkey>jw_seg_1492924013615</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>y</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:details> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> </edis:stops> </edis:details> </edis:flight> </edis:origindestination> </edis:query> <edis:metadata> <edis:shopping> <edis:shopmetadatagroup> <edis:offer> <edis:offermetadatas> <edis:offermetadata> <edis:augmentationpoint> <edis:augpoint Key="JW_FMD_1492924013601"> <ibs:faredetailaugpoint> IBS Software Services 2018 Page No. 23

DEVELOPER S 24 GUIDE <FareLevel>SUNECO</FareLevel> <FareBasis>ST</FareBasis> </ibs:faredetailaugpoint> </edis:augpoint> </edis:augmentationpoint> </edis:offermetadata> </edis:offermetadatas> </edis:offer> </edis:shopmetadatagroup> </edis:shopping> </edis:metadata> </edis:baggagechargesrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 24

DEVELOPER S 25 GUIDE 5. FlightPrice Description This operation is to be mandatorily invoked in order to obtain the correct price of the PNR. This operation can be triggered multiple times in an order creation flow to update the shopping cart with the final price based on each product selection by the Traveller. FlightPrice response includes the following details. Itinerary price including base fare, applied fare, discount rate / value, surcharge details, tax breakdown, fare basis and ticket designator for each fare component, fare string etc. Fees and applicable tax for each ancillary service. This operation can be triggered before / after collecting passenger details. If this service is triggered after collecting all the passenger details, then the OTAs / third party systems can display the accurate price details to the traveller considering the parameters such as customer profile ID / loyalty ID, customer value, nationality, tier level etc. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes"> <soapenv:header/> <soapenv:body> <edis:flightpricerq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> IBS Software Services 2018 Page No. 25

DEVELOPER S 26 GUIDE <edis:parameters> <edis:currcodes> <edis:currcode>eur</edis:currcode> </edis:currcodes> </edis:parameters> <edis:travelers> <edis:traveler> <edis:anonymoustraveler ObjectKey="JW_PAX_1"> <edis:ptc Quantity="2">ADT</edis:PTC> </edis:anonymoustraveler> </edis:traveler> </edis:travelers> <edis:query> <edis:origindestination> <edis:origindestinationkey>jw_od_1494289508263</edis:origindestinationkey> <edis:flight> <edis:segmentkey>jw_seg_1494289508280</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>y</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:classofservice> <edis:code>d</edis:code> </edis:classofservice> <edis:details> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> </edis:stops> </edis:details> </edis:flight> </edis:origindestination> </edis:query> <edis:datalists> IBS Software Services 2018 Page No. 26

DEVELOPER S 27 GUIDE <edis:farelist> <edis:faregroup refs="jw_pax_1" ListKey="JW_FG_ADT"> <edis:fare> <edis:farecode> <edis:code>suneco</edis:code> </edis:farecode> <edis:faredetail> <edis:farecomponent refs="jw_segrefs_1494289508284 JW_FMD_1494289508282 JW_FARECOMPREFS_1494289508286" ObjectKey="JW_FC_1494289508287-1247"> <edis:segmentreference>jw_seg_1494289508280</edis:segmentreference> <edis:pricebreakdown> <edis:price> <edis:baseamount Code="TRY">15.75</edis:BaseAmount> </edis:price> </edis:pricebreakdown> <edis:farebasis> <edis:farebasiscode> <edis:code>dxdom</edis:code> </edis:farebasiscode> </edis:farebasis> </edis:farecomponent> </edis:faredetail> </edis:fare> </edis:faregroup> </edis:farelist> </edis:datalists> <edis:metadata> <edis:shopping> <edis:shopmetadatagroup> <edis:flight> <edis:flightmetadatas> <edis:flightmetadata> <edis:augmentationpoint> <edis:augpoint Key="JW_SEGREFS_1494289508284"> <edis:segmentreferences>jw_seg_1494289508280</edis:segmentreferences> </edis:augpoint> </edis:augmentationpoint> </edis:flightmetadata> </edis:flightmetadatas> </edis:flight> <edis:offer> <edis:offermetadatas> <edis:offermetadata> <edis:augmentationpoint> <AugPoint Key="JW_FMD_1494289508282"> <ibs:faredetailaugpoint> <FareType>SUNECO</FareType> <FareLevel>ST</FareLevel> </ibs:faredetailaugpoint> </AugPoint> <AugPoint Key="JW_FARECOMPREFS_1494289508286"> <ibs:farecomponentaugpoint> IBS Software Services 2018 Page No. 27

DEVELOPER S 28 GUIDE <BaseFare Code="TRY">35.584744</BaseFare> <DisplayFare Code="EUR">6.27</DisplayFare> <Discount Code="EUR">7.64</Discount> </ibs:farecomponentaugpoint> </AugPoint> </edis:augmentationpoint> </edis:offermetadata> </edis:offermetadatas> </edis:offer> </edis:shopmetadatagroup> </edis:shopping> <edis:traveler> <edis:travelermetadata MetadataKey="JW_TM_1"> <edis:augmentationpoint> <edis:augpoint Key="JW_TM1_TA_1"> <ibs:travelleraugpoint> <PnrType>NORMAL</PnrType> </ibs:travelleraugpoint> </edis:augpoint> </edis:augmentationpoint> </edis:travelermetadata> </edis:traveler> </edis:metadata> </edis:flightpricerq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 28

DEVELOPER S 29 GUIDE 6. FareRules Description This operation will retrieve the fare description for a particular fare basis code. The system expects fare basis and the preferred language for displaying the fare rule as Request. Based on this Request, the corresponding fare rules in the preferred language will be given as response. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:farerulesrq Target="Production" Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>vanilla Air</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:parameters> <edis:languages> <edis:languagecode>en</edis:languagecode> </edis:languages> </edis:parameters> <edis:query> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22</edis:date> IBS Software Services 2018 Page No. 29

DEVELOPER S 30 GUIDE <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:farebasiscode> <edis:code>lxdom</edis:code> </edis:farebasiscode> <edis:airlineid>jw</edis:airlineid> </edis:query> </edis:farerulesrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 30

DEVELOPER S 31 GUIDE 7. InvGuarantee Description The InvGuarantee service will support blocking/holding of seats for the flight segments that participate in an offer. It is possible only to guarantee an Offer as a whole. Partial guarantee in terms of neither flight segments, nor OfferItems is possible. All flight segments for all OfferItems will be guaranteed with a single GuaranteeID and Timelimit. Although guarantee is possible only for an Offer as a whole, it is only possible to specify the OfferItem IDs in the request. It is mandated to price the offer using flightprice operation, before calling guaranteeinventory. This will re-create all the OfferItem IDs, and all the OfferItem IDs should be provided in the guaranteeinventory request. A single GuaranteeID with Timelimit will be generated, and it will be attached against each and every OfferItem ID in the response. The consumer should call ordercreate operation along with this GuaranteeID to ensure confirmed booking. If the consumer calls ordercreate after the Guarantee Timelimit expires, then the booking will not be possible. If the consumer session expires before calling the ordercreate operation, or the user leaves the page voluntarily, the consumer is recommended to call the releaseinventory operation, which will release the blocked/held seats and make it available to the public. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:invguaranteerq> <edis:document> <edis:referenceversion>15.2</edis:referenceversion> <edis:name>ndc</edis:name> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>sun Express Airlines</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> IBS Software Services 2018 Page No. 31

DEVELOPER S 32 GUIDE <edis:query> <edis:offeritemid Owner="JW" ObjectKey="JW_OFFERITEM_1492924013600">JW_OFFERITEM_1492924013600</edis:OfferIte mid> <edis:offeritemid Owner="JW" ObjectKey="JW_OFFERITEM_1492924013656">JW_OFFERITEM_1492924013656</edis:OfferIte mid> </edis:query> <edis:datalists> <edis:anonymoustravelerlist> <edis:anonymoustraveler ObjectKey="JW_PAX_1478857845750"> <edis:ptc Quantity="1">ADT</edis:PTC> </edis:anonymoustraveler> </edis:anonymoustravelerlist> <edis:flightsegmentlist> <edis:flightsegment SegmentKey="JW_SEG_1492924013615" ElectronicTicketInd="true" refs="jw_offeritem_1492924013600"> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:flightdetail> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> <edis:stoplocations/> </edis:stops> </edis:flightdetail> <edis:classofservice> <edis:code>a</edis:code> <edis:marketingname CabinDesignator="Y">ECONOMY</edis:MarketingName> </edis:classofservice> </edis:flightsegment> <edis:flightsegment SegmentKey="JW_SEG_1492924013606" ElectronicTicketInd="true" refs="jw_offeritem_1492924013656"> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> IBS Software Services 2018 Page No. 32

DEVELOPER S 33 GUIDE <edis:time>19:40</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>20:50</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7711</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:flightdetail> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> <edis:stoplocations/> </edis:stops> </edis:flightdetail> <edis:classofservice> <edis:code>e</edis:code> <edis:marketingname CabinDesignator="I">ECONOMY</edis:MarketingName> </edis:classofservice> </edis:flightsegment> </edis:flightsegmentlist> <edis:flightlist> <edis:flight FlightKey="JW_FL_1492924013612"> <edis:journey> <edis:time>p0y0m0dt1h10m0.000s</edis:time> </edis:journey> <edis:segmentreferences>jw_seg_1492924013615</edis:segmentreferences> </edis:flight> <edis:flight FlightKey="JW_FL_1492924013607"> <edis:journey> <edis:time>p0y0m0dt1h10m0.000s</edis:time> </edis:journey> <edis:segmentreferences>jw_seg_1492924013606</edis:segmentreferences> </edis:flight> </edis:flightlist> <edis:servicelist/> </edis:datalists> </edis:invguaranteerq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 33

DEVELOPER S 34 GUIDE 8. InvReleaseNotif Description The release Inventory operation can be used to release seats that are blocked by calling the guarantee Inventory operation. It is recommended that the consumer effectively uses this service so that inventory of the ORA is not blocked in cases where the user session is lost, or the customer is not interested in the Offer any longer. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:invreleasenotif Version="15.2"> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>vanilla Air</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:guarantee> <edis:invguaranteeid>22</edis:invguaranteeid> </edis:guarantee> </edis:query> </edis:invreleasenotif> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 34

DEVELOPER S 35 GUIDE 9. OrderCreate Description This operation creates a PNR taking as input the basic details like guest details, segment and fare details, contact details, payment details as the basic inputs for the creation of a PNR. Seat details can also be provided, through this operation. Payment details for the entire PNR will collected as single payment. The supported payment types are Credit Card, Agency, Cash, Cheque, Gift Certificate, Credit File, Direct Debit, Convenience store, EFT, Paypal. It supports more than payment type in single request. (Sample Card Info is shared ) If in case the OrderCreate is called after marking the inventory (GuaranteeInventory operation) then it has to provide the InventoryGuarantee id along with createorder request. ExternalRecordLocatorDetails has been brought in createorder operation to update the ifly Res system with external record locator. The same has been added in retrieveorder operation response to retrieve the external record locator details. Certain external booking systems would like to update their record locator number into ifly Res system. In such cases, the new change would help the external system to update and the retrieve the external record locator details. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes"> <soapenv:header/> <soapenv:body> <edis:ordercreaterq> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> IBS Software Services 2018 Page No. 35

DEVELOPER S 36 GUIDE <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:passengers> <edis:passenger ObjectKey="JW_PAX_1"> <edis:ptc Quantity="1">ADT</edis:PTC> <edis:age> <edis:birthdate>1972-02-01</edis:birthdate> </edis:age> <edis:name> <edis:title>mr</edis:title> <edis:surname>adams</edis:surname> <edis:given>anton</edis:given> <edis:middle/> </edis:name> <edis:contacts> <edis:contact Type="HOME"> <edis:addresscontact> <edis:street>nieuwe Plaatsen 201a</edis:Street> <edis:cityname>nachgeraad</edis:cityname> <edis:postalcode>7501ko</edis:postalcode> <edis:countrycode>mo</edis:countrycode> </edis:addresscontact> <edis:emailcontact> <edis:application>personal</edis:application> <edis:address>antonadams@hetnet.nl</edis:address> </edis:emailcontact> <edis:phonecontact> <edis:application>home</edis:application> <edis:number>313712387</edis:number> </edis:phonecontact> </edis:contact> </edis:contacts> <edis:additionalroles PrimaryContactInd="true"/> <edis:gender>male</edis:gender> </edis:passenger> </edis:passengers> <edis:orderitems> <edis:offeritem refs="jw_pax_1"> <edis:offeritemtype> <edis:detailedflightitem ConnectionInd="false"> <edis:price> <edis:baseamount Code="TRY">15.75</edis:BaseAmount> </edis:price> <edis:origindestination> <edis:flight> <edis:segmentkey>jw_seg_1494289508280</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>09:05</edis:time> </edis:departure> IBS Software Services 2018 Page No. 36

DEVELOPER S 37 GUIDE <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-22z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>y</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:classofservice> <edis:code>d</edis:code> </edis:classofservice> <edis:details> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> </edis:stops> </edis:details> </edis:flight> </edis:origindestination> <edis:faredetail> <edis:farecomponent refs="jw_segrefs_1494289508284 JW_FMD_1494289508282" ObjectKey="JW_FC_1492924013602-646"> <edis:farebasis> <edis:farebasiscode> <edis:code>dxdom</edis:code> </edis:farebasiscode> </edis:farebasis> </edis:farecomponent> </edis:faredetail> </edis:detailedflightitem> </edis:offeritemtype> </edis:offeritem> </edis:orderitems> <edis:payments> <edis:payment> <edis:method> <edis:paymentcard> <edis:cardcode><<card Type Code Here>></edis:CardCode> <edis:cardnumber><<pci Compliant Encryption>> </edis:cardnumber> <edis:seriescode><<cvv Code here>> </edis:seriescode> <edis:cardholdername><<card Holder Name here>></edis:cardholdername> <edis:cardholderbillingaddress> IBS Software Services 2018 Page No. 37

DEVELOPER S 38 GUIDE <edis:street>st PT ROAD</edis:Street> <edis:street>via DELLE ARTI</edis:Street> <edis:cityname>rom</edis:cityname> <edis:postalcode>23535</edis:postalcode> <edis:county>italy</edis:county> </edis:cardholderbillingaddress> <edis:amount Code="EUR">6.27</edis:Amount> <edis:effectiveexpiredate> <edis:expiration><<card Expiry Date>></edis:Expiration> </edis:effectiveexpiredate> </edis:paymentcard> </edis:method> <edis:amount Code="EUR">6.27</edis:Amount> </edis:payment> </edis:payments> <edis:metadata> <edis:other> <edis:othermetadata> <edis:currencymetadatas> <edis:currencymetadata MetadataKey="EUR"> <edis:decimals>2</edis:decimals> </edis:currencymetadata> </edis:currencymetadatas> <edis:pricemetadatas> <edis:pricemetadata> <edis:augmentationpoint> <AugPoint Key="JW_FMD_1494289508282"> <ibs:faredetailaugpoint> <FareType>SUNECO</FareType> <FareLevel>ST</FareLevel> </ibs:faredetailaugpoint> </AugPoint> </edis:augmentationpoint> </edis:pricemetadata> </edis:pricemetadatas> </edis:othermetadata> </edis:other> <edis:passengermetadata refs="?" MetadataKey="?"> <edis:augmentationpoint> <edis:augpoint Key="JW_SEGREFS_1494289508284"> <edis:segmentreferences>jw_seg_1494289508280</edis:segmentreferences> </edis:augpoint> </edis:augmentationpoint> </edis:passengermetadata> </edis:metadata> </edis:query> </edis:ordercreaterq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 38

DEVELOPER S 39 GUIDE 10. OrderRetrieve Description The itinerary details of the PNRs, satisfying the search condition are retrieved. If any of the Requested data does not match with the corresponding data in the retrieved PNR then an exception is thrown. This operation is designed mainly for retrieving the details of a particular PNR. If a set of PNRs need to be retrieved, then it is recommended to use OrderList operation. It will retrieve the summary of all PNRs based on search criteria. If more details are needed for a particular PNR call the OrderRetrieve service with that PNR in search criteria. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:orderretrieverq> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>vanilla Air</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:filters> <edis:orderid Owner="JW">B28L24</edis:OrderID> </edis:filters> </edis:query> </edis:orderretrieverq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 39

DEVELOPER S 40 GUIDE 11. OrderList Description The OrderList operation will support the following basic search options. Loyalty Number Based Search This search combination Loyalty number + Creation Date Range or Travel Date Range can be used for getting the summary of all the PNRs created by a particular loyalty customer. ProfileId Based Search This search combination ProfileId + Creation Date Range or Travel Date Range can be used for getting the summary of all the PNRs created by a particular ProfileId. PNR Flight Based Search This search combination FlightNumber + Travel Date Range can be used for getting the summary of all the PNRs created for these Flight dates. EmailId Based Search This search combination EmailId + Creation Date Range or Travel Date Range can be used for getting the summary of all the PNRs created by a particular EmailId. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:orderlistrq> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:filters> IBS Software Services 2018 Page No. 40

DEVELOPER S 41 GUIDE <edis:createdaterange> <edis:effective>2018-05-01z</edis:effective> <edis:expiration>2018-05-10z</edis:expiration> </edis:createdaterange> </edis:filters> </edis:query> </edis:orderlistrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 41

DEVELOPER S 42 GUIDE 12. ServiceList Description All the ancillary services except baggage and seats will be handled using this service. If SSR inventory is not available for the SSR for any of the flight segment, then that SSR will not be included in the service list. The default generic fees will be calculated for each passenger type specified in the request. Fee calculation considering passenger specific properties such as nationality, loyalty tier level etc. is not applicable for this service. If there is any tax to be applied over one or more ancillary fees, that information will also be included in the response. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes"> <soapenv:header/> <soapenv:body> <edis:servicelistrq EchoToken="6546" TimeStamp="2018-05-09T23:38:00" Target="Production" Version="33" TransactionIdentifier="3" SequenceNmbr="33" TransactionStatusCode="Start" RetransmissionIndicator="true" CorrelationID="3" AsynchronousAllowedInd="true"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:metadata/> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:travelers> IBS Software Services 2018 Page No. 42

DEVELOPER S 43 GUIDE <edis:traveler> <edis:anonymoustraveler ObjectKey="JW_PAX_1"> <edis:ptc Quantity="1">ADT</edis:PTC> </edis:anonymoustraveler> </edis:traveler> </edis:travelers> <edis:query> <edis:origindestination> <edis:origindestinationkey>jw_od_1492924013610</edis:origindestinationkey> <edis:flight refs="jw_fmd_1492924013601"> <edis:segmentkey>jw_seg_1492924013615</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>y</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:details> <edis:flightduration> <edis:value>pt1h10m0.000s</edis:value> </edis:flightduration> <edis:stops> <edis:stopquantity>0</edis:stopquantity> </edis:stops> </edis:details> </edis:flight> </edis:origindestination> </edis:query> <edis:metadata> <edis:shopping> <edis:shopmetadatagroup> <edis:offer> <edis:offermetadatas> <edis:offermetadata> <edis:augmentationpoint> <edis:augpoint Key="JW_FMD_1492924013601"> <ibs:faredetailaugpoint> <FareLevel>SUNECO</FareLevel> IBS Software Services 2018 Page No. 43

DEVELOPER S 44 GUIDE <FareBasis>ST</FareBasis> </ibs:faredetailaugpoint> </edis:augpoint> </edis:augmentationpoint> </edis:offermetadata> </edis:offermetadatas> </edis:offer> </edis:shopmetadatagroup> </edis:shopping> </edis:metadata> </edis:servicelistrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 44

DEVELOPER S 45 GUIDE 13. ServicePrice Description This operation returns the final price of the ancillary services selected by the traveller. All the ancillary services except baggage can be priced using this operation. This operation can be used to get the final price of seat ancillary as well. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" xmlns:ibs="http://www.ibsplc.com/iflyres/simpletypes"> <soapenv:header/> <soapenv:body> <edis:servicepricerq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>vanilla Air</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:parameters> <edis:currcodes> <edis:currcode>eur</edis:currcode> </edis:currcodes> </edis:parameters> <edis:travelers> <edis:traveler> <edis:recognizedtraveler ObjectKey="JW_PAX_1"> <edis:ptc Quantity="1">ADT</edis:PTC> <edis:residencecode>it</edis:residencecode> <edis:citizenshipcountrycode>it</edis:citizenshipcountrycode> IBS Software Services 2018 Page No. 45

DEVELOPER S 46 GUIDE <edis:name> <edis:surname>p</edis:surname> <edis:given>rahul</edis:given> </edis:name> </edis:recognizedtraveler> </edis:traveler> </edis:travelers> <edis:qualifiers> <edis:qualifier> <edis:servicequalifier ObjectKey="JW_SSR_1494289512731"> <edis:encoding> <edis:rfic> <edis:code>xleg</edis:code> </edis:rfic> <edis:code>xleg</edis:code> </edis:encoding> <edis:associations> <edis:segmentreferences>jw_segrefs_1492924013603</edis:segmentreferences> <edis:travelerreferences>jw_pax_1</edis:travelerreferences> </edis:associations> <edis:include>true</edis:include> </edis:servicequalifier> </edis:qualifier> </edis:qualifiers> <edis:query> <edis:origindestination> <edis:origindestinationkey>jw_od_1492924013610</edis:origindestinationkey> <edis:flight> <edis:segmentkey>jw_seg_1492924013615</edis:segmentkey> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>10:15</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>738</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>i</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:classofservice> <edis:code>i</edis:code> IBS Software Services 2018 Page No. 46

DEVELOPER S 47 GUIDE </edis:classofservice> <edis:details> <edis:flightduration> <edis:value>pt2h0m0.000s</edis:value> </edis:flightduration> </edis:details> </edis:flight> </edis:origindestination> </edis:query> <edis:datalist> <edis:farelist> <edis:faregroup refs="jw_pax_1"> <edis:fare> <edis:farecode> <edis:code>suneco</edis:code> </edis:farecode> <!--Optional:--> <edis:faredetail> <!--1 or more repetitions:--> <edis:farecomponent refs="jw_segrefs_1492924013603 JW_FMD_1492924013601 JW_FARECOMPREFS_1492924013605" ObjectKey="JW_FC_1492924013602-646"> <edis:segmentreference>jw_seg_1492924013615</edis:segmentreference> <edis:pricebreakdown> <edis:price> <edis:baseamount Code="TRY">21.19</edis:BaseAmount> </edis:price> </edis:pricebreakdown> <!--Optional:--> <edis:farebasis> <!--Optional:--> <edis:farebasiscode> <edis:code>axdom</edis:code> </edis:farebasiscode> </edis:farebasis> </edis:farecomponent> </edis:faredetail> </edis:fare> <edis:farebasiscode> <edis:code>axdom</edis:code> </edis:farebasiscode> </edis:faregroup> </edis:farelist> </edis:datalist> <edis:metadata> <!--Optional:--> <edis:shopping> <edis:shopmetadatagroup> <edis:flight> <!--You have a CHOICE of the next 2 items at this level--> <edis:flightmetadatas> <!--1 or more repetitions:--> <edis:flightmetadata MetadataKey="V1_MDK_12"> <!--Optional:--> IBS Software Services 2018 Page No. 47

DEVELOPER S 48 GUIDE <edis:augmentationpoint> <!--1 or more repetitions:--> <edis:augpoint Key="JW_SEGREFS_1492924013603"> <ibs:segmentreferences>jw_seg_1492924013615</ibs:segmentreferences> </edis:augpoint> </edis:augmentationpoint> </edis:flightmetadata> </edis:flightmetadatas> </edis:flight> <edis:offer> <edis:offermetadatas> <!--1 or more repetitions:--> <edis:offermetadata MetadataKey="V1_MDK_13"> <!--Optional:--> <edis:augmentationpoint> <!--1 or more repetitions:--> <edis:augpoint Key="JW_FMD_1492924013601"> <ibs:faredetailaugpoint> <FareType>ECONOMY</FareType> <FareLevel>ST</FareLevel> </ibs:faredetailaugpoint> </edis:augpoint> <edis:augpoint Key="JW_FARECOMPREFS_1492924013605"> <ibs:farecomponentaugpoint> <BaseFare Code="TRY">57.618643</BaseFare> <DisplayFare Code="EUR">18.92</DisplayFare> <Discount Code="EUR">0.0</Discount> </ibs:farecomponentaugpoint> </edis:augpoint> </edis:augmentationpoint> </edis:offermetadata> </edis:offermetadatas> </edis:offer> </edis:shopmetadatagroup> </edis:shopping> <edis:traveler> <edis:travelermetadata MetadataKey="V1_MDK_13"> <edis:augmentationpoint> <edis:augpoint Key="V1_TA_1"> <ibs:travelleraugpoint> <PnrType>NORMAL</PnrType> </ibs:travelleraugpoint> </edis:augpoint> </edis:augmentationpoint> </edis:travelermetadata> </edis:traveler> </edis:metadata> </edis:servicepricerq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 48

DEVELOPER S 49 GUIDE 14. SeatAvailability Description Show seat availability service is used to get the details to construct the seat map and the associated default fees. The default generic fees, if any, applicable for each seat will be calculated and will be included in the response. Fee calculation considering passenger specific properties such as nationality, loyalty tier level etc. is not applicable for this service. If there is any tax to be applied over the fees charged for seat, that information will also be included in the response. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:seatavailabilityrq EchoToken="6546" TimeStamp="2016-11-21T23:38:00" Target="Production" Version="33" TransactionIdentifier="3" SequenceNmbr="33" TransactionStatusCode="Start" RetransmissionIndicator="true" CorrelationID="3" AsynchronousAllowedInd="true"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> <edis:citycode>fra</edis:citycode> </edis:location> </edis:pointofsale> <edis:document> <edis:metadata/> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> <edis:name>vanilla Air</edis:Name> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:shoppingresponseids> <edis:owner>jw</edis:owner> <edis:responseid>1f126af1-7fcf-414f-8a3d-e4ffa408f747</edis:responseid> </edis:shoppingresponseids> <edis:query> <edis:origindestination> IBS Software Services 2018 Page No. 49

DEVELOPER S 50 GUIDE <edis:origindestinationreferences>jw_od_1492924013610</edis:origindestinationreferences > </edis:origindestination> </edis:query> <edis:datalist> <edis:flightsegmentlist> <edis:flightsegment SegmentKey="JW_SEG_1492924013615"> <edis:departure> <edis:airportcode>ada</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>09:05</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-05-20z</edis:date> <edis:time>10:15</edis:time> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>7631</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>320</edis:aircraftcode> </edis:equipment> </edis:flightsegment> </edis:flightsegmentlist> <edis:origindestinationlist> <edis:origindestination refs="jw_seg_1492924013615" OriginDestinationKey="JW_OD_1492924013610"> <edis:departurecode>ada</edis:departurecode> <edis:arrivalcode>ayt</edis:arrivalcode> <edis:flightreferences>jw_seg_1492924013615</edis:flightreferences> </edis:origindestination> </edis:origindestinationlist> </edis:datalist> <edis:metadata/> </edis:seatavailabilityrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 50

DEVELOPER S 51 GUIDE 15. ItinReshop Description The ItinReshop service is used to get the refund/penalty quote if the booking were to be cancelled [Or] to get the new offer quote if the confirmed booking is to be cancelled & rebooked. ItinReshop can be invoked for the following contexts. Context 1 Refund/Penalty quote: NDC user can call ItinReshop to get the amount that would be refunded (i.e a refund quote) if the booking were to be (subsequently) cancelled. Context 3 Change Booking Reshop: NDC user can call ItinReshop for a ticketed confirmed booking to change date - time and/or change cabin/class of their confirmed flight. Context 4 Change Booking Reprice: NDC user can call ItinReshop to get the price quote for the new flights if they intend to change their current confirmed flights.. Sample Request- ItinReshopRQ for Order Cancellation <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist" > <soapenv:header/> <soapenv:body> <edis:itinreshoprq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:name>guest EN</edis:Name> <edis:agentuserid>guest EN</edis:AgentUserID> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> IBS Software Services 2018 Page No. 51

DEVELOPER S 52 GUIDE <edis:reshop> <edis:actions> <edis:actiontype>cancel</edis:actiontype> <edis:orderid Owner="JW">RY8242</edis:OrderID> </edis:actions> </edis:reshop> </edis:query> </edis:itinreshoprq> </soapenv:body> </soapenv:envelope> Sample Request- ItinReshopRQ for Reshop <soapenv:envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis = "http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:itinreshoprq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:reshop> <edis:actions> <edis:actiontype>update</edis:actiontype> <edis:orderid Owner = "JW">NY2Z22</edis:OrderID> <edis:orderitems> <edis:orderitem> <edis:flightitem> <edis:origindestination> <edis:origindestinationkey>jw_od_272855049</edis:origindestinationkey> <edis:flight> <edis:departure> IBS Software Services 2018 Page No. 52

DEVELOPER S 53 GUIDE <edis:airportcode>fra</edis:airportcode> <edis:date>2018-12-09</edis:date> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-12-09</edis:date> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>141</edis:flightnumber> </edis:marketingcarrier> </edis:flight> </edis:origindestination> </edis:flightitem> </edis:orderitem> </edis:orderitems> </edis:actions> </edis:reshop> </edis:query> </edis:itinreshoprq> </soapenv:body> </soapenv:envelope> Sample Request- ItinReshopRQ for Reprice <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:itinreshoprq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:agentuserid>*******</edis:agentuserid> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> IBS Software Services 2018 Page No. 53

DEVELOPER S 54 GUIDE <edis:reshop> <edis:actions> <edis:actiontype>update</edis:actiontype> <edis:orderid Owner="JW">NY2Z22</edis:OrderID> <edis:offeritemsets> <edis:offeritemset> <edis:offeritem refs="jw_pax_194605689"> <edis:offeritemid Owner="JW">JW_OFFERITEM_1512635438081</edis:OfferItemID> <edis:offeritemtype> <edis:detailedflightitem> <edis:price> <edis:baseamount Code="EUR">94.99</edis:BaseAmount> </edis:price> <edis:origindestination> <edis:origindestinationkey>jw_od_272959770</edis:origindestinationkey> <edis:flight refs="jw_fc_1512635438083-84943"> <edis:segmentkey>jw_seg_1512635438092</edis:segmentkey> <edis:departure> <edis:airportcode>fra</edis:airportcode> <edis:date>2018-12-09z</edis:date> <edis:time>14:30</edis:time> </edis:departure> <edis:arrival> <edis:airportcode>ayt</edis:airportcode> <edis:date>2018-12-09z</edis:date> <edis:time>19:55</edis:time> <edis:changeofday>0</edis:changeofday> </edis:arrival> <edis:marketingcarrier> <edis:airlineid>jw</edis:airlineid> <edis:flightnumber>141</edis:flightnumber> </edis:marketingcarrier> <edis:equipment> <edis:aircraftcode>737</edis:aircraftcode> <edis:airlineequipcode>800</edis:airlineequipcode> </edis:equipment> <edis:cabintype> <edis:code>5</edis:code> <edis:name>economy</edis:name> </edis:cabintype> <edis:classofservice> <edis:code>v</edis:code> </edis:classofservice> <edis:details> <edis:flightsegmenttype> <edis:code>1</edis:code> </edis:flightsegmenttype> <edis:flightduration> <edis:value>pt3h25m0.000s</edis:value> </edis:flightduration> </edis:details> </edis:flight> IBS Software Services 2018 Page No. 54

DEVELOPER S 55 GUIDE </edis:origindestination> <edis:faredetail> <edis:farecomponent ObjectKey="JW_FC_1512635438083-84943"> <edis:farebasis> <edis:farebasiscode> <edis:code>vint</edis:code> </edis:farebasiscode> </edis:farebasis> </edis:farecomponent> </edis:faredetail> </edis:detailedflightitem> </edis:offeritemtype> </edis:offeritem> </edis:offeritemset> </edis:offeritemsets> <edis:passengers> <edis:passenger ObjectKey="JW_PAX_194605689"> <edis:ptc>adt</edis:ptc> <edis:name> <edis:surname>k</edis:surname> <edis:given>mike</edis:given> <edis:title>mr</edis:title> </edis:name> </edis:passenger> </edis:passengers> <edis:preferences> <edis:preference> <edis:farepreferences refs="jw_fc_1512635438083-84943"> <edis:farecodes> <edis:code> <edis:code>st</edis:code> </edis:code> </edis:farecodes> </edis:farepreferences> </edis:preference> </edis:preferences> </edis:actions> </edis:reshop> </edis:query> </edis:itinreshoprq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 55

DEVELOPER S 56 GUIDE 16. OrderCancel Description OrderCancel service is used to confirm the cancellation of an Order. The ItinReshopRS for cancel booking will provide the user with the penalty & refund information based on which the user can trigger OrderCancel to confirm the cancellation. Sample Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:edis="http://www.iata.org/iata/edist"> <soapenv:header/> <soapenv:body> <edis:ordercancelrq Version="15.2"> <edis:pointofsale> <edis:location> <edis:countrycode>jp</edis:countrycode> </edis:location> </edis:pointofsale> <edis:document> <edis:name>ndc</edis:name> <edis:referenceversion>15.1.2</edis:referenceversion> </edis:document> <edis:party> <edis:sender> <edis:agentusersender> <edis:name>guest EN</edis:Name> <edis:agentuserid>guest EN</edis:AgentUserID> </edis:agentusersender> </edis:sender> <edis:recipient> <edis:ora_recipient> <edis:airlineid>jw</edis:airlineid> </edis:ora_recipient> </edis:recipient> </edis:party> <edis:query> <edis:orderid Owner="JW">RY8242</edis:OrderID> </edis:query> </edis:ordercancelrq> </soapenv:body> </soapenv:envelope> IBS Software Services 2018 Page No. 56

DEVELOPER S 57 GUIDE NDC Developer Portal & Documentation IBS Software Services 2018 Page No. 57

DEVELOPER S 58 GUIDE How to use the ifly Res NDC API Option 1 Client applications begin by getting the service description provided via the Web Services Description Language (WSDL).How the WSDL is retrieved varies depending upon the environment used to develop the client application. Once the WSDL defining the contract is retrieved and a proxy created by the application interacts with the API using standard SOAP requests. The Web Services are described by individual service files from which the WSDL and XML Schema Definition ( XSD) is accessed using the following end-point URL: <<Will be shared by IBS>> The Web Services API WSDL must be used to obtain the API contract for use by clients that use the API. Since the API is provided as a Web Service, the WSDL provides the needed interface definitions. This document does not intend to go into the details of Web Service technology, but focuses on how to effectively use ifly Res NDC Web Services. The basic pattern of usage for the API is to instantiate an API ServicePort which logically groups a set of APIs for the functional area, for example, NdcResServiceSOAPPort groups APIs which supports PNR creation flow. Once a ServicePort is instantiated it can be used to access to the APIs grouped within it. For programmers familiar with Object Oriented Model, the API ServicePort is similar to a class and all the APIs contained within it are methods of that class. Using an API method is similar to making a function call. ifly Res NDC API accepts input as XML objects. Parameters required for building the request object are collected by the client application either by asking a user for it / requesting it from the system or from the response of predecessor services. Once the data is collected, the RQ (request) to a given API are populated and the API is then called. For instance, the shopair operation in the NdcResServiceSOAPPort needs an AirShoppingRQ object as an input parameter. If there are no exceptions, the API returns a response (RS) object which contains the results of the API operation. IBS would provide specific user/channel details which should be set as a mandatory data in the API request to ifly Res system. Any web service consumers who intend to use ifly Res APIs only needs to establish a connection and have a method for generating SOAP requests to communicate with Web Services. IBS Software Services 2018 Page No. 58

DEVELOPER S 59 GUIDE Option 2 Send NDC request as basic HTTP Post. In this option the NDC consumer can build raw xml request and post it to the NDC end-point URL. Following details are mandatory for all the aforementioned options. End Point URL info: End Point NDC URL <Will be shared by IBS> The NDC request when triggered towards ifly Res, the system will validate the AgentUserID information. It is important that you use the correct Party> Sender> AgentUserSender> AgentUserID. AgentUserSender to be set in each NDC Request. Will be provided by IBS ifly Res requires you to set the HTTP Header with a username and password. username Will be provided by IBS password Will be provided by IBS Card Info Applicable for Payment: Card Type VI Card Number 4355084355084358 CVV Code 513 Hold Name STARK Expiry Date 1218 Note: You can Encrypt the aforementioned dummy card with the encryption standards. The document(iflyres_webserviceaesencryption.pdf) will be shared by IBS which depicts the encryption steps. OR Use the below mentioned test encryption: CardNumber: BnaqrQVwy3UnKJl+T3/rW67H6bBlU/IdaGtfari6mJ8=%~~`%~~~~~~~%^**(%$#%gw dkfdu+h8smwosw7jhwrqczs+k/oxno2rfs8kfpsphaux93v21jqdpgwrkct/mepvuv/xy 4527p0FUVIzbfz0QRJPtvmGs8ibaUDrijEiACzfOLvbVurFFCTTUAZf+g7j++f8ZlN6REh0itYhSIF 7S4du6xvQ/+Yy9SkwuiZKMNX81DOyQaYx1kNgFBdzpgwxGsG8bb7cxglYWl4kEZF49ZdAdm OeKQgapyGejqbpy/O6ktEdxRnvLmPfpRtVzPhLXa9h71Bhkz5jmhJWVgp/cwGHN4s6+3dpn6I ur0zcc88nin4gii4etwg73iao/hrly6hymktrmf34jb49pvqa== SeriesCode: Myx8YAI5iQRv/k5BCGbW6w==%~~`%~~~~~~~%^**(%$#%R+juo+cfqt/VgPXxfTBm wzrzn6oipqbe+ybk0vpleobf9tza1mly8f6xsujfrb6uasy+qgfpnr4pbwnuttk2/bsc5lmh KLGkrgjYHnu49MnTSMxsZAIh85n0N4ZuLw80McJ2eG/d124s4TESKm+TzolDIQrvsI5TrtcYT9 /mu95hg9cbwlythksdz9gi6sk23ihphblph0g/fohlog6izinobhkl865ah5ehcm0jhe2walrh IBS Software Services 2018 Page No. 59

DEVELOPER S 60 GUIDE 8MUcD6IlFqxTOeqLoUvCG4CbBiCMzCP9jLy6x2SeYOggau6iGkYuhMcdFfArM6nUfc71VRCHFe rlufjqgexs1a1ig7s5uhuvga6hhg== CardHolderName: 0gmcyDqd6KTzQxbjgmU0pw==%~~`%~~~~~~~%^**(%$#%ZdoEHJvOUTHOJXn5fh5 LjcJW5FvoGsUrokQjKFn759/h2l9Rq1eG3i9GSOKr10OzJ9B2dFCSEc5fWNPwLyr3xdWP28a4xc Gdhtwa8cgLiYFfRJ//yz9aP0++3MLQNTYod+PpDNlRmhft3CaS3VYPZLLHNmZQv51f0CS5xW 4GlghASJnWDeXad1j5F4Opoavt8OrwcLlJDA6WcsE9R4yTSh07litl6QQ99T75uh0askwH2Askd dvotyhedh1b7twtrrbv2urpqe4+9xd+90y7ip+botlfmiiexfot4/rpprogtd122tgsqlfcqc +9OhiDnYttzUZ1U4XRdXJQF8dANA== Expiration: 5c1NTE8bR1YLrMXWSSH0wA==%~~`%~~~~~~~%^**(%$#%Jn7/bfhgzMSH0tlv5Ais OVzTen/K8NxOBY99w8hXWUu0kkGhs7zmpdnUECOd4VCNmv9FQWojQIoFLu3C3YKSxE5WZ aidy6utarb1k20xyjdzjnwt4yik+iqbzlqv9xrgmgrkrf78gn0iqvxrr8p8pcwkamjhqkyag4l0 ahapoykm1ltsvy/buu9gm9pw8tpudr8qqkt3ow8imcekgiiprpediq5rxyi44a3zpqf5cpfvwh 70FjZ4dstd361m4dIPWCaEZLB0ZEDqgcoXK7d1oLrkV7/JSknR+10AK7PNl84OneiQZpN88WE UnYaxNJ8IWC2DiliJdRrnhdne2BTwjg== IBS Software Services 2018 Page No. 60

DEVELOPER S 61 GUIDE Checklist before Order Creation The HTTP request is send to the right URL. The correct WSDL end-point is used. <Will be shared by IBS> The AgentUserSender set in the requests are as provided by IBS. Authentication credentials (HTTP header) needs to be set. Follow the encryption standards(iflyres_webserviceaesencryption.pdf) for Card Payments via IBS NDC API. IBS Software Services 2018 Page No. 61

DEVELOPER S 62 GUIDE Connect using Postman For quick connection to ifly Res NDC APIs, you can use either the Postman tool or other similar tools. Here the connection needs to be made to the following URL by sending POST HTTP request. https://iflyrestest.ibsgen.com:6013/ires_ndcres_ws/services/ndcresservicesoapport?wsdl An HTTP header with Content-Type: application/xml is required. An HTTP header with a valid authentication credentials (username, password). Note:- IBS will share the authentication credentials. Set your NDC request and trigger the HTTP request by sending valid NDC RQ. You may use any of the samples given in this brochure. The NDC request when triggered towards ifly Res, the system will validate the AgentUserID information. It is important that you use the correct Party> Sender> AgentUserSender> AgentUserID. NOTE:- It is advised to first connect with the AirShopping response and then proceed with connection to other services. IBS Software Services 2018 Page No. 62

DEVELOPER S 63 GUIDE IBS Software Services 2018 Page No. 63