OrderChange

1.1 Functional Description

version: 2.38 

The  OrderChange API allows an existing Order to be updated.

Functionality:

OrderChange.zip message examples

The Order Change API currently supports the following types of changes:

  • Update passenger contact info (telephone or email) → Only one change is made per request and per passenger. The email and telephone information is saved in Resiber as an SSR element. Even if ticket is re-issued.
  • Name Correction → Only one change per request and per passenger if not previously reissued. Documents are reissued. (therefore no further changes that require reissue are allowed).
    • Up to 3 characters once.
    • Not available when tickets are already re-issued or one segment has been flown.
    • Only for ADT passengers (not CHLD) without any INFT or Special Services or Ancillary Services (BAG and SEATS) associated.
    • NOT allowed for Residents and Large Family Discounts
    • Allowed for Private Fares
  • Add Seats and Bags → Adds seat/baggages postsale only for segments which have not been flown. This action type allows adding one or more additional services (baggages/seats) in the same request.
  • Voluntary Change → Changes of date, time(flt number) and class of flight(s) only before use of any service (all tickets in Open for Use/Airport Control). It can me made for only some passengers of the order or for all passengers of the order, and no previous change has been made. NOT allowed for Private Fare orders.
  • Partial cancelations (unused services).→ Refunds partially an order (At least one coupon must be in Used status and another one in Open for Use/Airport Control) and for all passengers in the Order.
  • Delete Some Passengers without ItinReShop → Deletes one or more passengers (but not all) from an order. Passenger/s can be deleted when at least one flight has not been used, using Order Change type Delete 
  • Delete Some Passengers with ItinReShop -  Deletes one or more passengers (but not all) from an order. Passenger/s can be deleted when at least one flight has not been used, using Order Change type Delete & Create after a previous itin reshop type Delete.

 

The Order Change API currently supports the following types of changes differenced by action type:

ActionType Use
Create

It is provided in an OrderItem element level.

In this case, what NDC expects is an operation to include EMD (seat/baggage).

This action type allows adding one or more additional services in the same request.


Delete 

It is provided in the passenger level tag we want to delete.

This action type allows deleting one or more passengers of an initial order → Previous itin reshop type 'Delete' is not mandatory.


Delete & Create

It is provided in an OrderItem element level.

Allows following changes:

  • Allows making changes in date, time or class for only some passengers of the order or for all passengers of the order (all coupons in Open for Use/Airport Control status) → Previous itin reshop type 'Delete & Create' and 'Reprice' are both mandatory.
  • Allows deleting one or more passengers of an order (at least one coupon must be in Open for Use/Airport Control status) → Previous itin reshop type 'Delete' is mandatory.

 

Update

It is provided in an Order element level. It can be provided in a Passenger level but, if it exists, it is currently omitted by NDC.

This action type is intended to perform changes of:

  • Contact information (telephone or email).
  • Name Correction (up to 3 characters once).

This action type allows only one change for request/passenger. For more changes we will have to add similar requests.


Cancel

It is provided in an Order element level → Previous itin reshop type 'Cancel' is not mandatory.

Refunds partially an order for all passenger of the order. Coupons have to combine Used/Flown status and Open for Use/Airport Control status

If there is a voluntary change for some or all passengers of the initial order, there are several options like:

  • Additional charge has to be paid by the passenger with no penalty.
  • Additional charge has to be paid by the passenger with penalty (Penalty EMD is issued)
  • Airline has to return a specific amount to the passenger (Exchange EMD is issued)

If there is a cancelation or a passenger is deleted from an order, and it is necessary to refund money to the client, the money is always refunded back to the original form of payment used for the tickets.

Partial refund should not be used if all of the ticket coupons are open for use, in that case ItinReshop and OrderCancel should be used for total refund.

 

(version: 2.20)Associate infants to any adult passenger.


(version: 2.24):Modify the flights of a passenger in a paid or issued reservation.

<Query>
 <Order>
   <OrderID Owner="IB">ORDER_ID_ORIGINAL</OrderID>
    <OrderItems>
     <OrderItem>
        <OrderItemID Owner="IB">ORDER_ITEM_ORIGINAL</OrderItemID>
            <ActionType>Delete</ActionType>
      </OrderItem>
      <OrderItem>

         <OrderItemID Owner="IB">OFFER_ID_SELECCIONADO</OrderItemID>
             <ActionType>create</ActionType>
      </OrderItem>
    </OrderItems>
  </Order>      
  <Payments>   
      data
  </Payments>
</Query>      

(version: 2.23): Validation of the currency we sell with the point of sale currency. This information will be optional.

    
    <Metadata>
        <Other>
            <OtherMetadata>
                <CurrencyMetadatas>
                    <CurrencyMetadata MetadataKey="EUR">
                    <Decimals>2</Decimals>
                    </CurrencyMetadata>
                </CurrencyMetadatas>
            </OtherMetadata>
        </Other>
    </Metadata>

 

 

EndPoint:


Add = New

1.2 Request Body

NAME

DESCRIPTION

FORMAT

ALLOWED VALUES

MANDATORY FOR

PrimaryLangID

Two character ISO Language Code, for the agent’s preferred language. This is for error messages and some other data such as legal waivers.

2 alpha

  • EN
  • ES

Version

The IATA version of the message

numeric

any

Schema

<PointOfSale>

CountryCode

Country code

2 alpha

List of countries


<Document>                                                                                                                                                                                                                                                                                                                                                                     Schema

ReferenceVersion

The IATA Schema version.

numeric

any


<Party>                                                                                                                                                                                                                                                                                                                                                                               Schema

Sender / TravelAgencySender/ Name
Sender contact name alphanumeric any
Sender / TravelAgencySender/ Contacts / Contact / EmailContact / Address

Sender contact address

alphanumeric any

Sender / TravelAgencySender/ Contacts / Contact / PhoneContact / Application

Sender contact phone application alpha
  • MOBILE
  • BUSINESS
Sender / TravelAgencySender/ Contacts / Contact / PhoneContact / Number Sender contact phone number alphanumeric any
Sender / TravelAgencySender/ Contacts / Contact / Name / Surname Sender contact surname alpha any
Sender / TravelAgencySender/ Contacts / Contact / Name / Given Sender contact name alpha any

Sender / IATA_Number

Sender unique identifier such as:

IATA number  (if you have one)

TIDs  number  (recommended if you do not have an IATA)

Pseudo IATA (assigned by Iberia)

7 numeric

7 numbers


Sender / AgencyID

Name of the Sender / Agency

alphanumeric

any


Participant / AggregatorID

Participant / Aggregator unique identifier (Mandatory if you have an indirect connection):

IATA number  (if you have one)

TIDs  number  (recommended if you do not have an IATA)

Pseudo IATA (assigned by Iberia)

7 numeric

7 numbers


<Query>

 NDC Mandatory for the following action types:

  • Delete
  • D&C (Only for Delete Passenger Flow)
  • Update
  • Create 
  • Cancel

Passenger List is NOT mandatory and NOT validated for Voluntary Change Flow (D&C).

<Query / Passenger>Add


Schema

Passenger

Passenger identifier

alphanumeric

any

Mandatory for schema if 'Passengers' tag is indicated.

Surname

Surname of the passenger

Alphabetical

any

Mandatory for schema if 'Passengers' tag is indicated.

Given

Name of the passenger

Alphabetical

any


Title

Title of the passenger (Mandatory for secure flights)

alphanumeric

any

NDC Mandatory for secure flights

Address

Email address

alphanumeric

any


PhoneContact / Application

Application

alphabetic

any


PhoneContact / Number

Telephone number

number

any


ActionType

ActionType

Alphabetical

  • Update
  • Delete
NDC Mandatory

<Query / Order>

OrderID

Order ID

alphanumeric

any


Total Order Quantity

Total Order Quantity

numeric

any


ActionTypeAdd Action type to realize alphabetic
  • Cancel
  • Update

<Query / Order / OrderItems>

Action Type Add

Action type

alphabetic

  • Create 
  • Delete 
  • Reprice 
  • Cancel

****The Action types Delete and Create cannot be provided in an isolated way. It must be provided as a pair in the same message.**** 

NDC Mandatory

OrderItemID

OrderItem ID with mandatory attribute Owner

alphanumeric

any

Schema
Associations / Passengers / PassengerReferences Reference to the ObjectKey of the passenger of the OrderItem alphanumeric any
Associations / Flight / SegmentReferences Reference to the suitable SegmentKey of the Da alphanumeric any
<Query / Order / OrderItems / OrderItem / SeatItem>                                                                                                                                                                                                                                                                                             NDC Mandatory
Price / Total Code Total seat price numeric any NDC Mandatory
Location / Column
Column where the seat is located alphabetic anny NDC Mandatory
Location / Row/ Number Row where the seat is located numeric any NDC Mandatory
<Query / OrderItems / BaggageItem>                                                                                                                                                                                                                                                                                                                        NDC Mandatory 
 ValidatingCarrier Id for the carrier, for example 'IB' alphabetic any Mandatory for schema if 'BaggageItem' tag is indicated.
 ApplicableParty Associated traveler alphabetic any Mandatory for schema if 'BaggageItem' tag is indicated.
TotalQuantity Total amount of bagage numeric any Mandatory for schema if 'BaggageItem' tag is indicated.
PieceMeasurements Bagage units numeric any Mandatory for schema if 'BaggageItem' tag is indicated.
Total Code   Total baggage price with currency code numeric any NDC Mandatory
<Query / Payments>
Method Payment Method, can be Cash payment, Card payment or Other payment (for service fee). alphanumeric any Mandatory for schema if 'Payments' tag is indicated
Amount Code Total amount of the offer numeric any Mandatory for schema if 'Payments' tag is indicated
Surname Payer's surname alphabetic any Mandatory for schema if 'Payments' tag is indicated.
Given Payer's surname alphabetic any  NDC Mandatory 
Number Telephone number numeric any
Address Email adress alphabetic any
<DataLists / FlightSegmentList>                                                                                                                                                                                                                                                                                                                                 NDC Mandatory
FlightSegment SegmentKey

SegmentKey attribute

Identifier for a segment.
Composed value as AirlineId+Flight Number+Departure Date.

alphanumeric

any

Mandatory for schema if 'FlightSegmentList ' tag is indicated.

Departure / AirportCode

Code of arrival or departure airport

Alphabetical

any

Mandatory for schema if 'FlightSegmentList ' tag is indicated.
Departure / Date Date associated to departure flight numeric any Mandatory for schema if 'FlightSegmentList ' tag is indicated.
Arrival / AirportCode Code of the arrival airport alphabetic any Mandatory for schema if 'FlightSegmentList ' tag is indicated.

AirlineID

Airline Identifier

alphanumeric

any

Mandatory for schema if 'FlightSegmentList ' tag is indicated.

FlightNumber

Flight number corresponding to the segment

numeric

any

Mandatory for schema if 'FlightSegmentList ' tag is indicated.
<MetaData>
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / MetadataKey  Type of currency Alphabetical Any available currency
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / Decimals  Decimals of currency Numeric Decimals currency should have

1.3 Response Body

NAME

DESCRIPTION

FORMAT

Nullable

<Warnings>
Warning Warning of loss of special services and ancillaries in the change of segment alphanumeric True
<OrderViewProcesing/>
< Passengers >

Passenger

Passenger Object Key

alphanumeric

False

PTC Passenger Type Code 3 alpha

False

PassengerAssociation Reference to the associated passenger alphanumeric False
Birthdate Birthdate of the passenger Date False
Surname Surname of the passenger alphanumeric False
Given Name of the passenger alphanumeric False
Title Title of the passenger (Mandatory for secure flights) alpha

False

Number Number of the phone contact alphanumeric False
Address Email address alphanumeric False
Contacts / Contact ContactType Tipe of contact type
alpha → Emergency False
Contacts / Contact ContactType / PhoneContact / Number Number of the emergency phone contact alphanumeric True
Contacts / Contact ContactType / Name/ Surname Name and surname defined as emergency contact alpha True
Remarks / Remark Relationship with defined emergency contact person alpha True
Gender Gender of the passenger (Mandatory for Infants) alphabetic

False

PassengerIDInfo / FOID / Type Type of the passenger ID Info 2 alpha False
PassengerIDInfo / FOID / ID ID of the passenger alphanumeric False
AdditionalRoles PrimaryContactIndAdd Identify if passenger is primary contact or not alpha True
< Order >
 OrderID Order ID alphanumeric False
BookingReferences / BookingReference / ID Order's Locator alphanumeric False
BookingReferences / BookingReference / Airline ID Airline ID 2 alpha False
TotalOrderPrice / DetailCurrencyPrice / Total Code Total amount of the order with associated currency numeric False
Taxes / Total Code Taxes amount with associated currency numeric False
< Order / OriginalOrder >
OriginalOrderId ID of the original order  alphanumeric False
< Order / OrderItem >
OrderItemID OrderItem ID alphanumeric False
FlightItem / Price / BaseAmount Code Amount of the OrderItem numeric False
FlightItem / Price / Taxes / Total Code Total amount of taxes and breakdown numeric False
OriginDestinatioKey OriginDestination Key alphanumeric False
SegmentKey Segment Key alphanumeric False
AirportCode Departure airport code 3 alpha False
Date Departure date date False
Time Departure time time False
Terminal Departure Terminal number number False
AirpotCode Arrival airport code 3 alpha False
Date Arrival date date False
Time Arrival time time False
ChangeOfDay Days between the departure and the arrival numeric False
Terminal Arrival Terminal number number False
AirlineID Airline ID of marketing carrier 2 alpha False
Name Airline name of marketing carrier alphabetic False
Flight number Flight Number of marketing carrier numeric False
Airline ID Airline ID of operating carrier 2 alpha False
Name Airline name of operating carrier alphabetic False
Flight number Flight Number of marketing carrier numeric False
Text Disclosures text 2 alpha False
Payment TimeLimit Payment time limit expired date False
PassengerReferences Passenger references of OrderItem alphanumeric False
< Order Items / SeatItem>
OrderItemID Seat associated order item ID
alphanumeric True
SeatItem / Price / Total Code Total seat price with associated currency numeric
True
SeatItem / Price / Taxes / Total Code Tax total seat price with associated currency numeric any True
Location / Column Column where the seat is located alphabetic True
Location / Row / Number Row where the seat is located numeric
True
Location / Associations / Flight / SegmentReferences Segment reference associated to seat item alphanumeric True
Associations / Passengers / PassengerReferences Passenger reference associated to seat item alphanumeric True
< Order Items / BaggageItem>
OrderItemID Baggage associated order item ID alphanumeric True
ValidatingCarrier ID of the flight carrier 2 alpha
True
ApplicableParty Traveler association alpha True
TotalQuantity Quantity of baggages items numeric True
PieceMeasurements Bagagge units numeric True
BaggageItem / BagDetails / BagDetail / Price / DetailCurrencyPrice / Total Code Total baggage price with associated currency numeric True
BaggageItem / BagDetails / BagDetail / Price / DetailCurrencyPrice / Tax / Total Code Total baggage tax price with associated currency numeric True
Associations / Passengers / PassengerReferences Passenger reference associated to baggage item alphanumeric True
< TicketDocInfos / TicketDocInfo >
TicketDocNbr Ticket number numeric False
Type / Code

Ticket code

EMDs

When the suitable TicketDocInfo is related to an EMD, this element contains the EMD value.

<Type>
     <Code>EMD</Code>
</Type>
 alpha False
NumberofBooklets Number of tickets numeric False
DateofIssue Date of issue date False
TimeOfIssue Time of issue time False
Passenger Reference Ticket Passenger Reference alphanumeric False
<CouponInfo>
CouponNumber number of coupon numeric False
Code Fare Basis Code alphanumeric False
Effective Effective Date Period numeric False
Code code status alphabetic False
DepartureDateTime Departure Date Time numeric False
AirportCode airport code. it refers to the departure and arrival alphabetic False
Date arrival and departure date numeric False
Time Datearrival and departure time numeric False
AirlineID Airline ID of marketing carrier alphabetic False
FlightNumber Flight Number of marketing carrier numeric False
<DataLists / ServiceList >
Service Service with mandatory ObjectKey alphabetic False
ServiceID Service ID with mandatory owner alphanumeric False
Name Service's name alphanumeric False
Total Total amount of the service numeric False
Taxes Total taxes of the service numeric False
SSRCode SSR code alphabetic False

1.4 Error messages

NDC Standard allow errors and warnings to be returned inside an 200 OK response. Errors returned with 200 OK will always be controlled errors result of external limitations as "Max accepted non-infant passengers is 9".

The following codes are enclosed in the response returned with a 200 OK.

PADIS STATUS CODE

EXAMPLE MESSAGE ERROR

REASON

486 Invalid action code Incorrect action
486 Action code missing Action missing
396 Invalid ticket/document coupon status Order without tickets
396 Invalid ticket/document coupon status Order with some ticket in status distinct of OPEN FOR USE
396 Invalid ticket/document coupon status Order with some ticket reissued
396 Refund request for tickets not issued. Please check the information entered and if the issue persists get in touch with us. Not Issued Tickets
911 Ha habido un error en tu localizador. Por favor ponte en contacto con nosotros. PNR cancelled
915 No action - processing host cannot support function Same flight
76D Modified itinerary – change options not allowed New origen/arrival
73H Changes not allowed in original itinerary Add a segment
74T Reembolso por cancelación no permitido Reissued ticket
486 Changes have been made to the reservation from outside of NDC. Sorry we can’t process the request. Reserve modificated outside NDC.

 

 

NDC Standard allow errors and warnings to be returned inside an 200 OK response. Errors returned with 200 OK will always be controlled errors result of external limitations as "Max accepted non-infant passengers is 9".