I have found a return itinerary CWL > MEL > CWL, with connections in AMS and CAN. Outbound: 30th July, return: 10th August.

However, I would like to have stopovers in AMS - say, something like:

  • CWL > AMS: 23rd July
  • AMS > MEL: 30th July
  • MEL > AMS: 10th August
  • AMS > CWL: 30th August

(The CWL segments can be pretty flexible.)

So, I checked on ITA Matrix for the fare rules ("China Southern (CZ) L2KRCGB CWL to MEL"), and the relevant ones seem to be:


But now if I do a multi-leg search on ITA Matrix, with a week or so stopover in AMS, I am offered only one option for AMS > MEL, on completely different flights (now KLM rather than China Southern).

I don't understand why all the options have disappeared.

  • Have I misunderstood the fare rules?
  • Why does a multi-leg search not include the numerous results included in a return journey search?
  • If there is a way to find a multi-leg fare with stopovers in AMS, based on my original return fare search, what do I need to do to find it?

2 Answers 2


Airfare searches are computationally demanding, particularly when we start adding stopovers. Matrix (and other air fare searches) sometimes need a bit of help to find the best prices. Essentially, you need to narrow down the problem.

In this case you know that you want to fly on a CZ fare. So tell Matrix that you want to fly on CZ flights. Also, KLM will be operating your feeder flight to Amsterdam, and Air France and KLM are the same company, so you should probably widen that to include any of CZ, AF and KL.

Use the Show Advanced Routing Codes link on the search page to show the extra boxes to type in the route codes. The fare search I entered looked like this.

Fare search parameters

CZ,KL,AF means exactly one flight, with a CZ, KL or AF flight number. CZ,KL,AF+ means at least one flight, each of which must have either a CZ, KL or AF flight number. Note the plus sign on the slices between AMS and MEL, since of course you will be stopping at a CZ hub en route.

This did give a result including your desired fare, but only in one direction. In the other you are on a slightly more expensive U- fare. Your desired fare L2KRCGB is there, although it now has the 75 EUR surcharge for the stopover added to it.

Fare results

I notice it is possible to knock another £250 off if you are willing to travel via CTU and CAN on the Tuesday on an E- fare. However that may introduce visa complexities.

It is actually possibly to tell Matrix that you will only accept a specific fare, in this case L2KRCGB. To do this, add the expression f CZ.CWL+MEL.L2KRCGB into the Extension codes box for every flight.

However, if the price is not available, you will simply be told "No flights found", which does not reveal whether the fare was invalid for the proposed itinerary, or whether the fare would be valid except only that there were insufficient seats in the appropriate buckets.

But if we search once with the Only show flights and prices with available seats option turned off and once again with it turned on, we can infer whether it is an availability problem.

In this case, it is indeed possible to price the whole itinerary using the L2KRCGB fare, but only with the Only show flights and prices with available seats option turned off. Although that information may appear useless, it does in fact validate your earlier understanding of the fare rules, which may be helpful on your next trip.


Without knowing the exact dates you're looking at it's impossible to say exactly what is occurring, but if I had to guess I'd say you're hitting an issue with what are called "Married Segments".

In order for a "fare" (eg, L2KRCGB) to be valid, you need to both meet the rules for that fare, AND there needs to be availability in the relevant fare classes for each leg of the trip. In your case, that likely means you need "L" class availability for each leg (it might be a different class, but for now lets just presume its L - even if it's something different the end result is the same).

Now obviously on the day you're looking, "L" is available all the way through.

So the first problem might be that when you change dates, "L" is not available on both the CWL-AMS and AMS-CAN-MEL segments. In that case, it'll jump it up to the higher fare.

However probably more likely what's happening is something called "Married Segments". With married segments, the fare availability isn't based on the individual legs, but on the end-to-end trip. Ie, the availability is for the "married" segments. Thus there might actually be no "L" class available CWL-AMS, or AMS-CAN, or CAN-MEL - but there WILL be availability when you book them as a single married segment CWL-AMS-CAN-MEL.

This is especially common when flights are across multiple airlines, as is the case here. The first leg you are looking at, CWL-AMS, is not flown by China Southern, and thus there's likely no L availability it when booked separately, but only when booked as a part of a larger, continuous trip. Adding in a stopover breaks that continuous trip, means that "L" is no longer available, and thus bumps you up to a higher, more expensive fare class.

Without more details that is just conjecture - but the fact that the ITA Software engine is jumping you to a higher fare means that there's something like this going on.

  • Thank you for this explanation. I think you are right that its not just about dates. If it helps, my proposed dates (I've now added them to the question itself) were: CWL > AMS: 23rd July, AMS > MEL: 30th July, MEL > AMS: 10th August, AMS > CWL: 30th August - but if your conjecture is correct, then the dates are not in fact relevant. Jun 4, 2017 at 17:24
  • If you turn off "Only show flights and prices with available seats" then it is possible to price the itinerary under the desired fare. So I guess you are correct. Now weirdly when I went to check on the availability by hand the married segment issue did not apparently affect the provision of L class, but all other classes below A were zeroed. Possibly a bug somewhere.
    – Calchas
    Jun 5, 2017 at 0:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .