Air Pricing with Most Restrictive Penalties (CAT 16)

Request

The most restrictive penalties feature performs an assessment of the two most restrictive rules across all fares components within a pricing solution, with the most restrictive rules in the CAT16 category sent in the response, along with using AnytimePenalty, BeforeDeparturePenalty and AfterDeparturePenalty indicators. These indicators are specified in AirPriceReq @MostRestrictivePenalties (v45.0 and later).

In version 49.0 and later, when customer specifies AirPriceReq @MostRestrictivePenalties=true, all applicable penalty rules return in the response for the given itinerary.

Response

For the Most Restrictive Penalties, the AirPriceRsp schema returns optional attribute @PenaltyApplies in the CancelPenalty, ChangePenalty, and NoShowPenalty elements that identifies the penalty as “Anytime”, “Before Departure”, or “After Departure”.

The associated xPath is:

Category 16 penalty information includes a combination of the following scenarios:

Interpreting Responses

There is a known issue for some responses. However, the following are the most common responses with instructions on how to interpret the response.

Name Responses

Possible values returned in:

<MostRestrictivePenalties> ----> <RestrictionType> ----> Name

Value Responses

<MostRestrictivePenalties> ----> <RestrictionType> ----> Value

Response Interpretation

If a value X (e.g., Cancellation or Changes) is returned:

Air v45.0 Response Scenarios:

Several scenarios are detailed to demonstrate how penalties are applied in the response based on the request for v45.

Scenario 1:

If Airline files cancel penalty and change penalty along with NoShow then NoShow="true" attribute returns in CancelPenalty and ChangePenalty

Response
<air:ChangePenalty NoShow="true" PenaltyApplies="Anytime">
<air:Percentage>0.00</air:Percentage>
</air:ChangePenalty>
<air:CancelPenalty NoShow="true" PenaltyApplies="Anytime">
<air:Percentage>100.00</air:Percentage>
</air:CancelPenalty>
</air:AirPricingInfo>
Scenario 2:

If Airline files cancel penalty along with NoShow then NoShow="true" attribute displays in CancelPenalty only.

Response
<air:CancelPenalty NoShow="true" PenaltyApplies="Anytime">
<air:Percentage>100.00</air:Percentage>
</air:CancelPenalty>
</air:AirPricingInfo>

 

Scenario 3:

If Airline files stand alone NoShow amount then NoShowPenalty tag displays along with corresponding value (amount or percentage).

Response
<air:NoShowPenalty PenaltyApplies="Anytime">
<air:Percentage>100.00</air:Percentage>
</air:NoShowPenalty>
</air:AirPricingInfo>

 

Scenario 4

If Airline files change penalty along with NoShow then NoShow="true" attribute displaya in ChangePenalty only.

Response
<air:ChangePenalty NoShow="true" PenaltyApplies="Anytime">
<air:Percentage>0.00</air:Percentage>
</air:ChangePenalty>
</air:AirPricingInfo>

 

Air v49.0 Response Scenarios

Scenario 1:

If MostRestrictivePenalties="true" in the request, /AirPricingInfo/MostRestrictivePenalties returns with penalty information.

Request

<air:AirPriceReq AuthorizedBy="ABCDEFG" MostRestrictivePenalties="true" TargetBranch="P9999999" FareRuleType="none" 
TraceId="TraceID" xmlns:air="http://www.travelport.com/schema/air_v49_0">
<com:BillingPointOfSaleInfo OriginApplication="UAPI" xmlns:com="http://www.travelport.com/schema/common_v49_0"/>
<air:AirItinerary>
<air:AirSegment Key="BXAdoGBAAA/BZFY7pDAAAA==" ProviderCode="1G" Group="0" Carrier="LH" FlightNumber="919" Origin="LHR" 
Destination="FRA" DepartureTime="2020-06-25T19:30:00.000+01:00" ArrivalTime="2020-06-25T22:05:00.000+02:00" FlightTime="95" 
Distance="390" ETicketability="Yes" Equipment="32N" ChangeOfPlane="false" ParticipantLevel="Secure Sell" LinkAvailability="true" 
PolledAvailabilityOption="Cached status used. Polled avail exists" OptionalServicesIndicator="false" AvailabilitySource="Q" 
AvailabilityDisplayType="Fare Shop/Optimal Shop"></air:AirSegment>
<air:AirSegment Key="BXAdoGBAAA/BbFY7pDAAAA==" ProviderCode="1G" Group="1" Carrier="LH" FlightNumber="924" Origin="FRA" 
Destination="LHR" DepartureTime="2020-06-27T07:00:00.000+02:00" ArrivalTime="2020-06-27T07:40:00.000+01:00" FlightTime="100" 
Distance="390" ETicketability="Yes" Equipment="32Q" ChangeOfPlane="false" ParticipantLevel="Secure Sell" LinkAvailability="true" 
PolledAvailabilityOption="Cached status used. Polled avail exists" OptionalServicesIndicator="false" AvailabilitySource="Q" 
AvailabilityDisplayType="Fare Shop/Optimal Shop"></air:AirSegment>
</air:AirItinerary>
<air:AirPricingModifiers/>
<SearchPassenger Code="ADT" Key="7JgefdtgWv" xmlns="http://www.travelport.com/schema/common_v49_0"/>
<SearchPassenger Code="CNN" Key="7Jgesgtv" xmlns="http://www.travelport.com/schema/common_v49_0"/>
<air:AirPricingCommand/>
</air:AirPriceReq>

 

Response

<air:PassengerType Code="ADT"/>
<air:MostRestrictivePenalties>
 <air:RestrictionType Name="Changes" Value="Anytime And Before Departure">
 <air:Amount>EUR70.00</air:Amount>
</air:RestrictionType>
 <air:RestrictionType Name="Non-Refundable" Value="AnyTime And Before Departure"/>
</air:MostRestrictivePenalties>
...
<air:PassengerType Code="CNN"/>
<air:MostRestrictivePenalties>
 <air:RestrictionType Name="Changes" Value="Anytime And Before Departure">
 <air:Amount>EUR70.00</air:Amount>
</air:RestrictionType>
 <air:RestrictionType Name="Non-Refundable" Value="AnyTime And Before Departure"/>
</air:MostRestrictivePenalties>

Scenario 2:

If MostRestrictivePenalties="false" in the request, /AirPricingInfo/ChangePenalty @PenaltyApplies returns with penalty information. .

Request

<air:AirPriceReq AuthorizedBy="abcdefg" MostRestrictivePenalties="false" TargetBranch="P9999999" FareRuleType="none" 
TraceId="TraceID" xmlns:air="http://www.travelport.com/schema/air_v49_0">
<com:BillingPointOfSaleInfo OriginApplication="UAPI" xmlns:com="http://www.travelport.com/schema/common_v49_0"/>
<air:AirItinerary>
<air:AirSegment Key="BXAdoGBAAA/BZFY7pDAAAA==" ProviderCode="1G" Group="0" Carrier="LH" FlightNumber="919" Origin="LHR" 
Destination="FRA" DepartureTime="2020-06-25T19:30:00.000+01:00" ArrivalTime="2020-06-25T22:05:00.000+02:00" FlightTime="95" 
Distance="390" ETicketability="Yes" Equipment="32N" ChangeOfPlane="false" ParticipantLevel="Secure Sell" LinkAvailability="true" 
PolledAvailabilityOption="Cached status used. Polled avail exists" OptionalServicesIndicator="false" AvailabilitySource="Q" 
AvailabilityDisplayType="Fare Shop/Optimal Shop"></air:AirSegment>
<air:AirSegment Key="BXAdoGBAAA/BbFY7pDAAAA==" ProviderCode="1G" Group="1" Carrier="LH" FlightNumber="924" Origin="FRA" 
Destination="LHR" DepartureTime="2020-06-27T07:00:00.000+02:00" ArrivalTime="2020-06-27T07:40:00.000+01:00" FlightTime="100" 
Distance="390" ETicketability="Yes" Equipment="32Q" ChangeOfPlane="false" ParticipantLevel="Secure Sell" LinkAvailability="true" 
PolledAvailabilityOption="Cached status used. Polled avail exists" OptionalServicesIndicator="false" AvailabilitySource="Q" 
AvailabilityDisplayType="Fare Shop/Optimal Shop"></air:AirSegment>
</air:AirItinerary>
<air:AirPricingModifiers/>
<SearchPassenger Code="ADT" Key="7JgefdtgWv" xmlns="http://www.travelport.com/schema/common_v49_0"/>
<SearchPassenger Code="CNN" Key="7Jgesgtv" xmlns="http://www.travelport.com/schema/common_v49_0"/>
<air:AirPricingCommand/>
</air:AirPriceReq>

 

Response

<air:PassengerType Code="ADT"/>
<air:ChangePenalty PenaltyApplies="Anytime">
<air:Amount>GBP60.00</air:Amount>
</air:ChangePenalty>
<air:CancelPenalty PenaltyApplies="Anytime">
<air:Percentage>100.00</air:Percentage>
</air:CancelPenalty>
...
<air:PassengerType Code="CNN"/>
<air:ChangePenalty PenaltyApplies="Anytime">
<air:Amount>GBP60.00</air:Amount>
</air:ChangePenalty>
<air:CancelPenalty PenaltyApplies="Anytime">
<air:Percentage>100.00</air:Percentage>
</air:CancelPenalty>