Is Jakarta Airport (JKT) the same as Soekarno-Hatta Airport (CGK)? If so, why is the code different? If the two codes means the same thing, why do some airport booking systems use JKT and some others CGK?

@ChrisH By the IATA definition, OXF is not included in LON. That said, the IATA's definition is not the only one, or necessarily the most useful one. For example, Sabre (and apparently ITA) have a set of US city codes (QLA, QSF, QHO, QMI, QDF) that are handy, but aren't recognized by anyone else.
– chosterJul 31 '17 at 17:05

@choster the city codes seem to mean whatever is most convenient for someone selling something IME, unlike the proper IATA airport codes (though I guess a Google search for "LHR parking" would give some rather optimistic results)
– Chris HJul 31 '17 at 17:40

Practically, it's used for booking only, referring to all airports in Jakarta, as people usually don't care which airport they fly into.

It's like NYC as an umbrella for JFK, LGA and EWR, or TYO for NRT and HND. You are never going to fly into "NYC", as this airport doesn't exist. However, when you book a ticket to New York, you probably don't care much about whether you land in JFK, La Guardia or Newark. In this case, you would probably search for flights to NYC so that you would get flights to all three airports, instead of having to do three different queries.