Order Change
Click here for full OrderChange Technical Specification
The Order Change API allows an existing Order to be updated.
The service uses IATA NDC OrderChangeRQ & OrderViewRS v16.1 schema
The Order Change API currently supports the following types of update
- addition of paid or free seating items
- addition of excess baggage
- addition of paid or free meal
- change the date and time of an existing booking
- upgrade of an existing booking
- addition of disability assistance needed
- inclusion of additional passenger information
- update passenger information
Version Information
The most recent version of the Order Change API is version 2. Previous versions are shown below.
Version | Status | End-of-life date |
---|---|---|
v01 | Current | n/a |
API Endpoints
Order Change has a SOAP API endpoint.
The endpoints available are:
Endpoint | URL |
---|---|
Live | n/a |
Test | https://test.api.ba.com/selling-distribution/OrderChange/V2 |
API Methods
Method | URL | Description |
---|---|---|
POST | /selling-distribution/OrderChange/V2 | changes an existing order |
HTTP Headers
Header Name | Description | Mandatory? | Example |
---|---|---|---|
client-key | Your unique key used to authorise access to the API. | Yes | n/a |
Search parameters
The various search parameters are described below:
Name | Description | Format | Mandatory / optional | Example | Allowed values |
---|---|---|---|---|---|
OrderChangeRQ | |||||
@Version | message version | m | 2.0 | any | |
@PrimaryLangID | m | EN | any | ||
@AltLangID | m | EN | any | ||
Party/Sender/TravelAgencySender | |||||
Name | Sender name | alphabetic | m | Travel Agent plc | any |
Name/ Contacts/ Contact/ EmailContact/ Address | Travel agency email address | email address | o | anagent@travelagent.com | any |
IATA_Number | IATA number of the agent that created the order | numeric | mandatory (either) | use your own IATA or non-IATA number | any |
OtherIDs/OtherID | non-IATA number of the agent that created the order | ||||
AgencyID | Agency ID | alphanumeric | m | this can be the same as Name | any |
Party/Participants/Participant | |||||
@SequenceNumber attribute | sequence number of this participant in the message flow | numeric | m | 1 | add 1 to the highest Participant@SequenceNumber |
Name | Participant name | alphabetic | m | aggregator plc | any |
ID | Participant ID | alphanumeric | m | this can be the same as Name | any |
Query/Passengers/Passenger | |||||
@ObjectKey attribute | reference to a Traveller | any | m | T1 | any |
PTC | Passenger type code | alphabetic | m | ADT | ADT, CHD, INF are supported |
PassengerAssociation | association to an INF passenger | alphanumeric | o | T2 | any |
Age/BirthDate | passenger date of birth | YYYY-MM-DD | o (required where any flight is a "secure flight") | 1965-10-01 | |
Name/Surname | a surname | alphabetic | SMITH | any | |
Name/Given | a given name | alphabetic | JOHN | any | |
Name/Title | a title | alphabetic | MR | any | |
Name/Contacts/Contact/AddressContact (only required when payment is BSP payment) | |||||
Street | street part of address (repeat as required) | alphanumeric | m (max 2) | 1 ACACIA GARDENS | any |
PostalCode | postcode (or ZIP code) | alphanumeric | AB1 1AB | any | |
CountryCode | country code | alphabetic | GB | ISO country codes | |
Order | |||||
OrderID @Owner attribute | m | BA | any | ||
OrderID | m | ABC123 | any | ||
Order/OrderItems/OrderItem | |||||
OrderItemID | m | any | |||
Order/OrderItems/OrderItem/SeatItem | |||||
Price/ Total @Code attribute | alphabetic | m | any | ||
Price/ Total | numeric | m | any | ||
Descriptions/ Description/ Text | type of seat | GeneralSeat | GeneralSeat, ExitRow | ||
Location/ Column | Column of seat selected (eg 12A) | string | m | A | any |
Location/ Row/ Number | Row of seat selected (eg 12A) | string | m | 12 | any |
SeatAssociation/ SegmentReferences | |||||
SeatAssociation/ TravelerReferences | |||||
Payments/Payment/Method/PaymentCard (section optional) | |||||
CardType | payment card type | alpha | m | CREDIT | CREDIT, DEBIT |
CardCode | card scheme code | 2 alpha | m | VI | use one provided in the FlightPriceRS |
CardNumber | card number | numeric | m | 4111111111111111 | test Visa credit card |
SeriesCode | card security code (CVC) | numeric | m | 123 | |
CardHolderName @refs attribute | reference to passenger who is payer | aplhanumeric | m | T1 | |
Amount @Code | currency code | alphabetic | m | GBP | |
Amount | surcharge amount for using this payment type | numeric | m | 5 | |
Payments/Payment/Method/PaymentCard/CardholderBillingAddress | |||||
Street | street part of address (repeat as required) | alphanumeric | m (max 2) | 1 ACACIA GARDENS | any |
PostalCode | postcode (or ZIP code) | alphanumeric | m | AB1 1AB | any |
CountryCode | country code | alphabetic | m | GB | ISO country codes |
County | postal county name | alphabetic | o | MIDDLESEX | |
Payments/Payment/Method/PaymentCard/EffectiveExpireDate | |||||
Effective | Effective validity date of payment card | MMYY | o | 1214 | any |
Expiration | Expiration validity date of payment card | MMYY | m | 1219 | any |
Payments/Payment | |||||
Amount @Code | currency code | alphabetic | m | GBP | |
Amount | total amount being paid using this payment type | numeric | m | 500 | |
Metadata/Other/OtherMetadata/LanguageMetadatas | |||||
LanguageMetadata @MetadataKey attribute | met | any | |||
LanguageMetadata/ Application | specify which language to use for response messages; email communications | Display, Written | any | ||
LanguageMetadata/ Code_ISO | the preferred language | EN | any | ||
Metadata/Other/OtherMetadata/CurrencyMetadatas | |||||
CurrencyMetadata @MetadataKey attribute | define characteristics of currency used in message | GBP | any | ||
CurrencyMetadata/ Decimals | currency decimal places | numeric | 2 | any |
Search parameters may be submitted in any order and are case insensitive.
Response elements
The following error codes may be returned by the service
OrderViewRS/InfoGroup/Error/Code | Meaning | Description |
---|---|---|
200 | Ok | The request was successful and at least 1 item is being returned |
400 | Bad Request | Sent when the consumer sends a malformed request to the service. The actual error message is returned in the response body |
401 | Unauthorised | Returned when the consumer is not authenticated to use the REST API |
403 | Forbidden | Returned when the consumer is authenticated but does not have permission to access the Resource |
406 | Not Acceptable | Returned when the Accept header contains version / mime type info which we don't support |
500 | Internal Server Error | Something has gone wrong - please raise this as a bug with us |
503 | Service Unavailable | Returned when the server is temporarily unable to handle the request |
Supported Status Codes
You can view the standard status codes returned by our APIs here.