Modifying Air Bookings
UniversalRecordReqRsp.xsd
Create Air Booking > Modify Air Booking OR
Import Air Booking > Modify Air Booking OR
Retrieve Air Booking > Modify Air Booking
An existing Universal Record can be modified to add, update, or delete booked air segment data or cancel air segments through the following child elements of UniversalRecordModifyReq/UniversalModifyCmd:
-
AirAdd, which adds a new air segment (PNR) or additional details about an existing air segment to an existing Universal Record.
-
AirUpdate, which updates an existing air segment in a Universal Record.
-
AirDelete, which deletes air segment data.
This request can also be used to store a price for a booking.
Schema
Located in Universal.xsd:
How To
UniversalRecordModifyReq/UniversalModifyCmd is used to modify Universal Record data for traveler information, general UR information, and segment-related data. If multiple modifications are made to a Universal Record, an instance of UniversalModifyCmd must be associated with each change request.
Note: If Routehappy amenities were used in creating the Universal Record, Routehappy amenities return for each flight when modifying a booking to offer customers a detailed view of the amenities for the flights previously selected. U
xPath: UniversalRecordModifyRsp/UniversalRecord/AirReservation/AirPricingInfo/BookingInfo
-
/AmenitiesRef
-
@IncidentalStops
Adding Air Segments
Use the AirAdd child of UniversalModifyCmd to add an air segment or additional details about an existing air segment to an existing Universal Record.
Include the required @ReservationLocatorCode to identify the PNR to which the travel segment is added. This ReservationLocatorCode is assigned by the provider and is distinct from the identifier for the UniversalRecord that is issued by Universal API.
Include the required BookingTravelerRef to identify the primary traveler for an air segment. This reference is cross-checked with the Reservation Locator Code by Universal API.
Add Manual Fares.
Add a loyalty card to an existing booking.
More informationA single Loyalty Card can be used to accrue points/miles on different carriers (cross-accrual). Up to 10 carriers can be sent in a single LoyaltyCard element in requests to the Galileo (1G) provider.
Notes:
- Universal API does not validate the carrier codes against the provider membership mileage table.
- Universal API does not currently support cross-accrual for multiple airlines on Apollo (1V), or Worldspan (1P) because those providers validate cross-accrual carriers and do not support user entry of cross-accrual carriers.
- A PNR is not created if the cross-accrual carrier provided does not have a mileage membership agreement with the Loyalty Card carrier. An error is returned: NO CROSS ACCRUAL AGREEMENT EXISTS.
Add a seat assignment to an existing booking.
More informationSeats can be added to an existing Air Booking that does not already have a seat assignment. If a seat already exists, an error is returned:
Note: This functionality is available on ACH for easyJet (U2) only. See the Exceptions section for details. Additionally, this functionality is available based on provisioning. Please contact your Support representative for details.
Add open segments to an existing reservation.
More informationOpen segments are air segments that do not specify the flight number. Open segments may or may not include the travel date, and are typically used to secure a fare even though the traveler is not certain of one or more travel dates. Open segments can be booked, modified, and ticketed the same way as regular air segments. Prior to travel, they are exchanged for a ticket with complete flight details.The following attributes and values are supported for Open Segments in AirSegment:
@OpenSegment="true" (required)
@DepartureTime (optional)
If @DepartureTime is included, it should only include the date and not the time. The time value in @DepartureTime is returned as "T00:00:00.000" in the response.
@ArrivalTime (optional)
If @ArrivalTime is included, it should only include the date and not the time. The time value in @ArrivalTime is returned as “0:00:00” in the response.
@FlightTime (optional)
@TravelTime (optional)
@ClassOfService (optional)
Regardless of the status that is included in the request to Universal API, open segments are passed to providers as follows:
- Galileo and Apollo providers are sent Status="NO".
- Worldspan provider is sent Status="PS".
Error and Warning Responses
An error response is returned if:
- A request with OpenSegment set to "true" includes a FlightNumber value. @FlightNumber is not supported in the request and is not returned in the response.
- A request is sent without a FlightNumber value and OpenSegment is not set to "true".
Store redistributed fares in an existing Universal Record.
More informationPrivate fares can be redistributed (also known as emulation), which allows the requestor to use another Pseudo City Code (PCC). Redistribution requires a prior agreement between the requestor and the other travel provider, such as Selective Access or Group Coding etc. The provider (1G, 1V) establishes the agreement. Many private fares have redistribution coded in Category 15 and 35 to secure the private fare to a requestor and a provider.
A redistributed fare can be stored in an existing Universal Record. See Storing Redistributed Fares in Existing Universal Records.
Add MIRC number to Check form of payment.
More informationCredit card form of payment without an associated credit card type (FormOfPayment@Type) is allowed at the PNR level and the stored fare level.
When the form of payment is "check", the MICR number can be added to an existing check form of payment using the Check@MICRNumber attribute. MICR number is only supported by Apollo.
Add Rich Content and Branding details.
More informationIn all versions, brand information can be added to an existing UR AirAdd/AirPricingInfo/FareInfo/BrandInfo. Alternately, in Universal v34 and higher, Rich Content and Branding details can be added to an existing UR through AirAdd/Brand. See Rich Content and Branding in Air Bookings for details.
Add Special Service Requests (SSRs).
More informationSSRs apply to air segments only. To add an SSR use AirAdd/SSR with the seat status code in @Status and the SSR code in @Type. Adding SSRs is supported for ACH only on those carriers that allow post-book modifications. If a carrier does not allow post-book modifications, Universal API returns the warning message "Carrier does not support adding SSR." If the specific SSR is not supported by the carrier, the message "SSR type not supported by this carrier" is returned.
Restrict or allow flexibility in the fare type.
More informationAlthough optional, returning a value in AirAdd/AirPricingInfo/AirPricingModifiers @FaresIndicator provides the ability to either restrict the type of fare to book or allow flexibility in choosing other fare types.
The default @FaresIndicator value for Galileo (1G), Apollo (1V), and ACH in all schema versions is PublicAndPrivateFares. In Air.xsd, for Worldspan (1P) only, the default value for @FaresIndicator changed to PublicFaresOnly.
When booking private fares it is recommended to specify a value for @FaresIndicator. For example, if you are booking a private fare returned in a shop or price response and do not send @FaresIndicator set to PrivateFaresOnly in the book request, if the specified private fare no longer exists, Universal API could book a more expensive public fare. However, if you send FaresIndicator as "PrivateFaresOnly" and the private fare is no longer available, Universal API will return the error "UNABLE TO PRICE".
Ticketing modifiers must be updated using AirUpdate.
Storing a Price
The Store Price procedure includes obtaining a fare quote for a booked itinerary, which is the lowest fare for the booking code, origin/destination, and dates, and then storing the fare quote in the PNR. The Galileo (1G), Apollo (1V), and Worldspan (1P) providers support storing a price.
We recommend sending a Universal Record Import or Retrieve first to get the complete PNR details with segments and other information.
Send an Air Price request.
Show required data for repricingA Universal Record Import or Retrieve should be sent first to get the complete PNR details with segments and other information.
When the Air Pricing request includes segment details, the SearchPassenger element, and the 1P AirResrvationLocatorCode (PNR), the existing booking is priced by taking into account the initial booking date and time.
- AirPriceReq/AirItinerary/AirSegment is used for segment selection and is mandatory.
- AirPriceReq/SearchPassenger is used for PTC selection and is mandatory.
AirPriceReq/AirPricingModifiers@FaresIndicator indicates whether only public fares should be returned or a specific type of private fares.
- PublicFaresOnly
- PrivateFaresOnly
- AgencyPrivateFaresOnly
- AirlinePrivateFaresOnly
- PublicAndPrivateFares
- NetFaresOnly – for pure Private Fares or net fares
- AllFares – returns public and/or private and/ or net fare or a combination, whichever is cheaper
- AirPriceReq/AirPricingModifiers@AccountCodeFaresOnly indicates whether or not the private fares returned should be restricted to only those specific to the input account code.
- AirPriceReq/AirPricingModifiers/AccountCodes/AccountCode is used to get Private Fares and/or net fares with a specific account code.
- AirPriceReq/AirPricingModifiers@CurrencyType is used for currency override.
- AirPriceReq/AirPricingModifiers@PlatingCarrier overrides the default plating carrier. Overriding the default carrier can be subject to ADMs.
Send the entire AirPricingInfo returned in the response to UniversalRecordModifyReq/UniversalModifyCmd/AirAdd/AirPricingInfo.
With Air v35.0 and later, for 1P only, a value of either NetFaresOnly or AllFares can be sent in the existing @FaresIndicator attribute to specify pricing either for net fares only or for a combination of public, private, and net fares. Two possible scenarios where net fares can be returned in AirPricingModifiers@FaresIndicator are:
- Pure Private and/or Net fares – FaresIndicator as "NetFaresOnly"
- Public and/or private and net fares combinations - FaresIndicator as "AllFares"
With Air v50.0 and later, an enhancement provides the ability to identify and sell city/ticketing city at time of Shop, Price, Book and UR Modify. This helps to identify cross-boarder sales (e.g. price in PAR ticket in NYC) so that fares are accurate throughout a workflow (e.g. shop, price, book, UR Modify). /AirPricingModifiers @SellCity and @TicketingCity can be used together. Release 20.3
This functionality is only supported for Galileo (1G). If sent via 1V, 1P, ACH, the warning message returns, “SellCity and TicketingCity modifier(s) not supported by this provider and have been ignored.” For example:
<AirPricingInfo ProviderCode="1G" Key="s8+gKLBAAA/B7eWQAAAAAA==" ApproximateTaxes="COP41300" Taxes="COP41300" EquivalentBasePrice="COP249000" ApproximateBasePrice="COP249000" ApproximateTotalPrice="COP290300" BasePrice="USD61.00" TotalPrice="COP290300"
PlatingCarrier="AA" ETicketability="Yes" IncludesVAT="false" PricingMethod="Guaranteed" LatestTicketingTime="2020-06-24T23:59:00.000-05:00">
...
<AirPricingModifiers TicketingCity="PAR" SellCity="NYC"/>
Updating Air Segments
Note: ACH does not support AirUpdate.
Use the AirUpdate child of UniversalModifyCmd to modify an existing air segment in a Universal Record.
Ensure ReservationLocatorCode and BookingTravelerRef are included in the request to identify the PNR.
Modify the seat assignment in an existing booking.Seats can be modified in an existing Air Booking that already has a seat assignment. If a modification request is sent and the booking does not already have a seat, an error is returned:
Note: This functionality is available on ACH for easyJet (u2) only. See the Exceptions section for details. Additionally, this functionality is available based on provisioning. Please contact your Support representative for details.
Update SSRs and OSIs.Note: SSRs and OSIs cannot be modified through AirUpdate.
SSRs apply to air segments only. To update an SSR or OSI, it must be deleted using the 'SSR' or 'OSI' enumeration of the AirDelete/Element attribute and then recreated using AirAdd.
Update Ticketing Modifiers.Only existing ticketing modifiers can be updated. For example, a user has commission, endorsement and plating carrier as UA. The user can change the plating carrier (or any other Ticketing Modifier) from UA to DL, if necessary.
Change the Class of Service.A class of service for an air segment can be modified if the new class of service for the requested air segment is available.
Responses may vary. If AirUpdate contains a request for:
- Different air segments for both Segment Status and Class of Service within the PNR (Provider Reservation), then the Class of Service is updated before the Segment Status is updated for the segment.
- The same air segment for both Segment Status and Class of Service within the PNR:
- Universal API ignores the change of Segment Status and only performs the change of Class of Service.
- If the requested Class of Service is the same (or NULL) as in the Universal Record, the Class of Service is not updated.
- If the requested Segment Status is different from the Segment Status in the Universal Record, a warning is returned: Segment Status change ignored for segments undergoing class of service update.
If the PNR has changed, a warning is returned to advise the user to re-price the segment/connection: The reservation returned by the host changed. The segment information is now updated and the pricing data has been removed.
Change the Date or Time.The date or time of an air segment can be modified. When multiple values are changed in a single AirUpdate request, the following rules of precedence apply:
Date and class of service can be changed in a single request.
- If the date is changed:
- A change in status is ignored.
- A change in time is ignored.
If the date or time is changed, a change in flight number is ignored.
Note: Use UniversalRecordModify/AirAdd and /AirCancel rather than AirUpdate to change flights.
- If status is changed, a change in time is ignored.
- If the class of service is changed, a change in time is ignored.
Change the Status.To change the status of one or more segments, use /AirUpdate/AirSegment/Status. Note:
- If the date is changed, any change in status is ignored.
- If status is changed, a change in time is ignored.
Manually adjust the fare.Manual fare adjustment functionality allows increases or decreases to be applied to a fare quote when the appropriate parameters are set in Shop/Price/Book requests. The fare can be increased or decreased either by percentage or flat amount. The user can increase or decrease either the base amount or total.
This functionality is available for Galileo, Apollo, and Worldspan.
See Manual Fare Adjustments for details.
Modify Seats.Universal v44.0 and later allows you to save existing seats when adding new seats. This functionality allows you to processes a seat update in a session flow, so that the PNR is saved and End-Transacted if the new seat is successfully added. Contact your Travelport representative for more information about accessing this functionality. Release 18.1
Notes:
- If any Seat Selection fails then an Ignore is generated. Only if all the seat selections are successful will an ET be generated.
- A seat change is saved even when the Status Code is not the same as the original seat. For Example, if the original seat status code is HK and the new seat is UC, Universal API proceeds and End Transacts.
- Universal API does not validate nor restrict the combination of seat change with other updates to the Universal Record. It is recommended that the end user does not combine with other changes as it can result in SIMULTANEOUS CHANGE ERROR.
The xPath is UniversalRecordModify/UniversalModifyCmd/AirUpdate/SpecificSeatAssignment or /AirUpdate/AutoSeatAssignment
Add a credit card authorization.You can add a credit card authorization to a Universal Record using the Universal Record Modify request (UniversalModifyCmd/AirAdd/CreditCardAuth). The following sample shows how to add a credit card authorization.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <univ:UniversalRecordModifyReq AuthorizedBy="Test" TargetBranch="ABC123" Version="0" ReturnRecord="true" xmlns:univ="http://www.travelport.com/schema/universal_v44_0" xmlns:com="http://www.travelport.com/schema/common_v44_0" xmlns:air="http://www.travelport.com/schema/air_v44_0" xmlns:pas="http://www.travelport.com/schema/passive_v44_0" TraceId="5c185bc4-ab9a-4d45-ba61-2fde8a91bd94"> <com:BillingPointOfSaleInfo OriginApplication="uAPI"/> <univ:RecordIdentifier UniversalLocatorCode="DZZ10Z" ProviderCode="1G" ProviderLocatorCode="123ABC"/> <univ:UniversalModifyCmd Key="muGdyDGLRz6H6/gRNTVbqA=="> <univ:AirAdd ReservationLocatorCode="DVVVVV"> <com:CreditCardAuth PaymentRef="DeTim74JSCOAzDdWmoAuxw==" Amount="AUD892.60" AuthCode="7854" AuthResultCode="Approved" AVSResultCode="123"/> </univ:AirAdd> </univ:UniversalModifyCmd> </univ:UniversalRecordModifyReq> </soapenv:Body> </soapenv:Envelope>Notes:
Deleting Air Segment Data
- Use the AirDelete child of UniversalModifyCmd to delete existing data from an air segment or to delete an entire air segment from an existing Universal Record.
- Enter required data:
- The ReservationLocatorCode attribute identifies the PNR with the associated air segments.
- The Element attribute indicates the type of data
to be deleted.
- If Element is set to "AirSegment", the entire air segment is canceled. See Canceling Travel Segments via the UR for more information on deleting entire air segments from an existing Universal Record.
- Because the Element attribute is shared by several segment types, not all enumerations are used by air segments.
- A Key from the PNR uniquely identifies the specific item to be deleted based on the unique key assigned to that item.
- The BookingTravelerRef identifies the primary traveler for an air segment. This reference is cross-checked with the Reservation Locator Code by Universal API.
- To delete the MICR number for a check form of payment, use AirUpdate and send a blank MICRNumber attribute. MICR number is only supported by Apollo.
- When dual SSRs exist, an ASVC SSR cannot be deleted. Instead, the standard SSR should be deleted. If Air Delete is sent and @Element="SSR", Universal API checks the Universal Record to determine if the SSR being deleted is an ASVC SSR. If it is, Universal API checks if there are dual SSRs, and if dual SSRs exist, an error is returned.
- ASVC SSRs for paid seats cannot be deleted. Universal API validates the SSR code in the ASVC SSR FreeText to determine if it is a paid seat SSR. If so, Universal API does not send the request to delete the ASVC SSR.
- SEAT
- RQST
- NSST
- NSSA
- NSSW
- NSSB
- SMSA
- SMSW
- SMSB
- SMST
Note: See Canceling Travel Segments via the UR for more information on deleting entire air segments from an existing Universal Record.
Notes:
Standard SSR
<common_v42_0:SSR Key="+De1MpZ0RZe4CWCcg+x9/g==" SegmentRef="8GnCauH0Rly7X2wGpJUm3g==" Status="NN" Type="XBAG" FreeText="XBAG" Carrier="A3" ProviderReservationInfoRef="LjSbJKZpR822wH22hiJE0A==" ElStat="A" />
ASVC SSR
<common_v42_0:SSR Key="C/9h5zt/TDWLs5JY+zxFtw==" SegmentRef="8GnCauH0Rly7X2wGpJUm3g==" Status="NN" Type="ASVC" FreeText="**C/0AA/XBAG/EXCESS BAGGAGE" Carrier="A3" ProviderReservationInfoRef="LjSbJKZpR822wH22hiJE0A==" ElStat="A" />
Show codes
If other deletions were successful, a warning message is returned in UniversalRecordModifyRsp. If no deletions were successful, an error is returned. The error/warning message is the same:
If the SSR code in the ASVC SSR FreeText is not a paid seat SSR and does not have a dual SSR, Universal API deletes the non-paid seat ASVC SSR.
Exceptions
-
Galileo does not allow a specific seat assignment (SpecificSeatAssignment) to be deleted.
- When an AirAdd request is sent, the response may include AirPricingInfo/PricingMethod with a value of GuaranteedUsingAirlinePrivateFare to indicate that a guaranteed Agency Private Fare was used with no rules override.
- Free-form Remarks allow maximum of 86 characters:
- Galileo does not support adding, updating, or deleting an MICR number for a check form of payment.
AccountingRemark/RemarkData Category="FT" TypeInGds="Other" ProviderCode="1G"
AccountingRemark/RemarkData Category="X*" TypeInGds="Other" ProviderCode="1G"
-
Universal API does not have a discrete equivalent to an end transact (PNRBFEnd). When a created, modified or canceled booking is submitted, Universal API internally processes the end transact as part of the request. There is also no equivalent functionality to PNRBFIgnore.
Modified Apollo air segments, Universal API:
- Retains the fare for ticketed Stored Fares.
- Verifies unticketed Stored Fares. Unticketed Stored Fares are not retained because fare quotes are not finalized until the fare is ticketed. A warning is returned if there is a price change between the original fare quote and the latest verified fare quote.
Worldspan does not support:
- Modifying the class of service for an air segment.
- Changing the class of service.
- Changing the departure date of an air segment.
- Credit card form of payment without the credit card type.
- Adding, updating, or deleting an MICR number for a check form of payment.
For a more complete list of functionality available from various ACH carriers, see ACH Carriers Functionality. Because functionality for carriers may be subject to change, always confirm functionality directly with the ACH carrier before implementation.
In ACH, UniversalRecordModifyReq typically cannot be used to make changes to an existing reservation because air bookings are paid for at the time of booking.
However, UniversalRecordModifyReq can be used with ACH suppliers to:
-
Add an ACH booking to an existing AirReservation.
-
Add an option to an existing booking for supporting carriers.
-
Make payment on an existing reservation for supporting carriers.
The AvailableProviderSupplier element in OptionalServicesModify and AddPayment can be used to identify supporting carriers.
Standard (Free) Seats
- Users can Add or Modify a standard (free) seat, when the seat has been included in the fare, post booking, if no optional services have been added.
- Errors for Add:
If one of the attributes are missing in BookingTravelRef@SegmentRef@SeatID the error “Missing one of the required attributes in SpecificSeatAssignment” displays.
If a seat is already assigned and the user is trying to assign another seat for the same air segment, the following “Seat Assignment cannot be processed. Seat is already assigned for Traveler and FlightSegment. Use AirUpdate to modify the seat” displays.
-
Errors for Modify:
-
If UR Modify Request contains an AirUpdate for modifying an existing seat assignment for a particular traveler-segment combination, and if there is NO existing seat assignment for the same traveler-flight segment combination, the error “No seat assignment exists to modify for Traveler and FlightSegment. Use AirAdd for adding new seat assignments” displays.
-
If one of the attributes are missing BookingTravelRef@SegmentRef@SeatID the error “Missing one of the required attributes in SpecificSeatAssignment” displays.
-
- Request: /SpecificSeatAssignment @BookingTravelerRef @SegmentRef @SeatID
- Response: UniversalRecordModifyRsp/UniversalRecord/common:BookingTraveler/common:AirSeatAssignment @Seat
Paid Seats
- For Paid Seats, add a seat assignment to an existing booking.
- This functionality is currently available for easyJet (U2) only. Additionally, this functionality is available based on provisioning. Please contact your Support representative for details.
- Before adding a seat, send AirPriceReq to get available options, SeatMapReq to check available seats, and re-price with AirPriceReq for the seat Optional Service. After completing the pre-requisites, send the Optional Services information for the seat that was returned in the AirPriceRsp in the Universal Record Modify request:
- UniversalRecordModifyReq/UniversalModifyCmd/AirAdd/OptionalServicesInfo/
AirPricingSolution/OptionalServices/OptionalService - The UniversalRecordModifyRsp returns the information sent in the request, indicating that the request was successful.
- Modify a seat assignment in an existing booking.
- This functionality is currently available for easyJet (U2) only. Additionally, this functionality is available based on provisioning. Please contact your Support representative for details.
- Existing seats can be modified in Air Booking for ACH. Before modifying a seat, send AirPriceReq to get available options and SeatMapReq to check available seats. Then, send an AirPriceReq for the new seat Optional Service to re-price the seat. After completing the pre-requisites, send the Optional Services information for the new seat that was returned in the AirPriceRsp in the Universal Record Modify request:
- UniversalRecordModifyReq/UniversalModifyCmd/AirModify/OptionalServicesInfo/
AirPricingSolution/OptionalServices/OptionalService - The UniversalRecordModifyRsp returns the information sent in the request, indicating that the request was successful.
Airline Content Hub (ACH) does not support modifying the date or time of an air segment for an “On Hold” booking. Some ACH carriers support modifying the date or time of an air segment via Air Exchange Quote and Air Exchange if the booking is already paid.
ACH does not support Open Segments.
EasyJet (U2)
easyJet supports:
- Adding a Seat Assignment Optional Service and assigning a seat number to an existing reservation using AirAdd. This functionality is available based on provisioning. Please contact your Support representative for details.
- Modifying a Seat Assignment Optional Service and assigning a new seat number to an existing reservation using AirUpdate, including :
Changing to the same seat type.
Changing or upgrading to a different seat type.
- Air Pricing requests to price the modification of an existing Seat Assignment Optional Service on an existing reservation. This functionality is available based on provisioning. Please contact your Support representative for details.
- Adding secure flight details information to a previously booked PNR using the Document Special Service Request (SSR DOCS). Because U2 supports only passport information, only SSR DOCS can be added to a booking.
- Any value other than DOCS in the SSR element is ignored for U2.
- SSR @Carrier (U2) must be specified, although it is optional in the schema.
- Only one SSR (DOCS) is allowed by ACH per passenger. If more than one SSR is submitted for a passenger in the request, Universal API sends only the first value to ACH.
- If a PNR already contains SSR DOCS and a modify request is sent to add another SSR DOCS for a passenger, Universal API saves the new information to the Universal Record, but ACH ignores the new data.
- If an SSR is added for a Carrier code other than U2:
- If the Carrier code is not specified in the SSR:
- If a value other than DOCS is specified in the request:
This functionality is available based on provisioning. Please contact your Support representative for details
To add passport information (SSR DOCS) for previously booked itineraries, send UniversalRecordModifyReq/UniversalModifyCmd/AirAdd and include the APIS information in the SSR element.
Errors and WarningsThe following error messages are returned:
Carrier (Carrier code) does not support adding SSR
Carrier code is required in SSR
SSR type not supported by this carrier
IndiGo
IndiGo (6E) supports the following for Universal Record Modify:
-
As of Universal API release 23.1.1, BSP can be added as a form of payment to held IndiGo bookings to allow travelers an alternative way to pay for their travel reservations. Release 23.1
RyanAir (FR)
Ryanair (FR) supports the following modifications:
-
Add/Change optional services (including seats)
- Only lateral or upgrade is allowed (e.g., Regular to Regular or Regular to Premium).
- Original Optional services cannot be deleted.
- FAST SSR cannot be added post booking.
-
If adding a bag to a booking, the price may vary from an original bag due to seasonal pricing.
-
Add payment to a modified booking (if payment is rejected during modification)
-
If the payment is declined while trying to book, a new payment may be added using the ACH AirBookModify service. RyanAir does not support hold booking, but New Skies has a booking configuration setting of 15 minutes (a global setting), during which a declined booking remains in session. Another payment must be made within this time frame or else the booking will be canceled.
-
If there is an existing payment on the booking (the one used to make the booking in the first place) then the booking can no longer be put on hold. For any declined payment for subsequent changes, the booking remains already confirmed, but just has an amount due. The booking is left in this state until it is paid. As long as there is a payment due on the booking, the passenger cannot be checked in at the airport and will be required to pay the balance prior to check in.
-
In the case when a credit card payment is declined, the carrier puts the booking on a permanent hold (carrier sends an invalid 9999-12-31T00:00:00Z ) until payment is made. Therefore ACH will populate TTL with the departure date/time of the first unflown segment of the journey.
-
-
Change (replace) segments
- The origin and destination cities cannot change, only the date.
- The fare family cannot change (e.g., cannot change from Regular to Premium).
- A flight cannot be changed within 4 hours of departure (an error is returned).