Why your airline’s Jain meal might not match the official definition

ATC Intelligence
 ⋅ 

VJML is the IATA code for Vegetarian Jain Meal. It excludes meat, fish, eggs and dairy, and also underground vegetables like onions, garlic, potatoes and ginger. The code itself is precise; what actually reaches the tray is decided in the catering kitchen, not in the booking system.

Request the meal at least 24 hours before departure, and reconfirm after any rebooking or flight change. The written definition almost always excludes dairy, but execution can vary by carrier, so confirm the dairy point directly with your airline before you travel.

VJML is one of those codes airlines rarely explain well because the people who run reservation systems never see a galley. The code attaches in the booking, transmits as a data record, and lands in a catering kitchen that may or may not have been told what Jain dietary practice actually prohibits. What sits in between is a specification more precise than almost anything else in airline catering, and a verification process that is almost nonexistent.

The exclusion list is not the surprise. Most travellers know Jain vegetarianism avoids meat and eggs. The part that breaks down in practice: onions and garlic, ginger, carrots and potatoes are also out, because harvesting them kills the plant and disturbs the soil.

That’s not a taste preference; it’s a principle. And in a commercial kitchen, keeping those ingredients out of a sauce or stock is far harder than swapping a chicken dish for a paneer one.

So the real question isn’t “what is VJML?” The documentation answers that clearly. It’s whether the tray matches the code, and what you can verify before the cart rolls past.

Right now, the answer to that second question is almost nothing. This article explains why, and what to do about it.

What the VJML code actually bans

The VJML code is defined by the industry’s special meal guidelines, not by any one airline. The version that matters is the QSAI Special Meal Codes guidelines, Version 2.0, issued jointly by the Airline Catering Association (ACA) and Medina Quality, published on November 15, 2023. Its list is longer than most passengers expect.

The prohibited set runs well past a generic vegetarian label. Meat, poultry, fish, seafood, eggs and honey are out. Dairy is out.

Then comes the part that actually disrupts a kitchen: garlic, onions, turmeric, fresh ginger, radishes, beets, carrots and potatoes are all named, as are fermented foods, fungus, yeast, mushrooms, sprouts, buds and alcohol.

The distinction matters in the kitchen. That’s why a tray that is merely “close enough” — a vegetable curry built on an onion-heavy base, say — fails the standard completely, even when a passenger eating for preference would never notice.

Among the carriers that publish a VJML definition, the four majors agree on the points that matter. Emirates, Qatar Airways, Air India and Singapore Airlines all describe a meal with no animal products, no eggs and no dairy, alongside the onion, garlic and root-vegetable exclusions. Delta sits at the opposite end: it offers no VJML at all, only vegan (VGML) and lacto-ovo vegetarian (VLML) meals, whose definitions are looser than Jain requirements.

How major carriers define VJML and whether JNML appears in their published special-meal information
Carrier VJML offered Dairy in VJML (per carrier definition) JNML accepted/mentioned Source page/document
Emirates Yes Explicitly excluded: description states VJML does not contain dairy products Not mentioned Dietary requirements – Vegetarian Jain Meal (VJML)
Qatar Airways Yes Explicitly excluded: special-meals description says VJML does not contain milk and dairy products Not mentioned Special meals / Disability and Special Assistance – Vegetarian Jain Meal (VJML)
Air India Yes Implicitly excluded: VJML is defined as containing no animal products, and dairy is not listed among allowed ingredients Not mentioned Special menu – Vegetarian Jain Meal (VJML)
Singapore Airlines Yes Implicitly excluded: VJML description states no animal products or animal by‑products, which encompasses dairy, with no separate dairy allowance Not mentioned Special Meals – Vegetarian Jain Meal (VJML)
Delta Air Lines No VJML; offers VGML and VLML instead Not applicable – VJML not offered; VGML is defined as excluding dairy while VLML permits dairy and eggs Not mentioned Special Meal Requests (SPML) policy
Generic GDS (Amadeus/Travelport) Yes, as VJML code definition in SSR tables QSAI guideline for VJML explicitly prohibits dairy products as part of the standard definition used by catering organizations JNML not present as a Jain code in published SSR lists QSAI Special Meal Codes, Definitions & Interpretation Guidelines V2.0; Amadeus and Travelport SSR meal-code references
Source: Emirates; Qatar Airways; Air India; Singapore Airlines; Delta Air Lines; Airline Catering Association / Medina Quality; Amadeus Service Hub; Travelport

The vegetarian meals you know are a different animal from VJML

VJML vs VGML and VLML: where the two sides split

This is where the confusion lives. A passenger who eats vegetarian at home assumes a VJML tray will look roughly like an ordinary vegetarian option. It will not.

VGML (Vegan) and VLML (lacto-ovo vegetarian) are the vegetarian codes Delta offers in place of VJML. Neither carries the Jain exclusions, so the alliums and root vegetables that VJML bars are not ruled out by those codes.

So VJML is not a stricter version of a vegetarian meal the reader already knows — it sits in a different category. The difference is not severity but kind. What most passengers understand “vegetarian” to mean includes exactly the allium and root ingredients VJML forbids.

Flight deals
most people never see

Our AI monitors 150+ airlines for pricing anomalies that traditional search engines miss. Air Traveler Club members save $650 per trip per person on average: see how it works.


Each deal saves 40–80% vs. regular fares:

Superdeals to Asia preview

Does VJML contain dairy? The answer is not one line

If you read only the carrier pages, VJML looks non-dairy, full stop. Emirates says it does not contain dairy products. Qatar Airways says it does not contain milk or dairy products.

Air India and Singapore Airlines use broader wording — no animal products or animal by-products — which encompasses dairy without naming it separately.

The apparent contradiction has a simple cause: Jain dietary principle is vegan in spirit, but the written airline specifications don’t always use the word “vegan” the way VGML does. No verified public carrier page in this research explicitly includes dairy in VJML, but no central database tracks kitchen-level execution either.

That gap is the real variable. A carrier can publish a non-dairy definition and still load a tray with a butter-based sauce if the caterer substitutes on a busy day. The only way to know for your booking is to ask the carrier directly and inspect the tray on board.

VJML versus JNML: two codes for the same meal, one unresolved risk

There is a second Jain meal code: JNML. It is meant to carry the same restrictions as VJML. That’s where the clarity ends.

The published Special Service Request tables from the major GDS platforms have no JNML row. Travelport‘s SSR list carries VJML as Vegetarian Jain Meal and has no JNML entry. The Amadeus reference does the same.

The pattern points to a code that the main booking systems never adopted as standard.

The practical risk is real. A request logged under a code a carrier’s system doesn’t recognise is a request that may not be fulfilled. And passengers almost never see which code their booking actually carries.

If you ask for “a Jain meal” and the agent keys JNML instead of VJML, your meal can fall off the manifest silently.

VJML is a data record, not a kitchen instruction

A special meal order is recorded in the reservation as a Special Service Request, a coded element tied to the booking. In Amadeus’s guidance, the record appears as SRVJML/P3 — the four-letter code VJML plus the number of passengers. It is that SSR record, rather than a free-text note, that carries the order to the airline and its caterer, as the Amadeus Service Hub spells out.

Caterers work from that SSR list when they plan what to load, and the deadline for changes is usually 24 hours before departure. The SSR does not always survive a change of booking, a rebooking after an irregular operation, or a move onto a codeshare. Delta makes passengers re-request special meals after any voluntary change, and says that if a disruption lands you on a new flight less than 24 hours away, it cannot guarantee the meal will be on board.

What that means in plain language: the code behind VJML is perfectly standard. The weak point is the hand-off — between systems, between segments, between carriers — where a Jain meal can quietly disappear.

What this means for you

If you follow Jain dietary principles or travel with someone who does, treat VJML as a booking-time decision, not a last-minute request. When you book, ask for VJML by name — not just “a vegetarian Jain meal” — and confirm the code on the booking is VJML, not JNML. Ask the carrier directly whether its VJML uses dairy before you finalise.

Request the meal at least 24 hours before departure. Reconfirm after any change of flight, even a minor schedule adjustment. If the airline rebooks you onto a codeshare, reconfirm with the operating carrier, not the marketing one.

On the tray itself, check for visible onions, garlic or root vegetable pieces. Ask the crew whether the dish contains dairy if that distinction matters to you.

If the meal is wrong, say so to the crew immediately — loyalty status does not improve this process; a top-tier frequent flyer gets no better VJML assurance than anyone else.

Reporting by

ATC Intelligence

ATC Intelligence is the research division of Air Traveler Club. Backed by 15 years in Asia-Pacific aviation, we don't just report on the regional market; we live and work in it. By pairing AI-driven data with strict human fact-checking, we provide actionable, trustworthy journalism designed to make your trips to Asia smarter and more affordable.

Follow our daily coverage on Google News, Google Discover, and social media.

Key terms

VJML
VJML is the IATA special-meal code for a Vegetarian Jain Meal, a strict vegetarian option that follows Jain dietary rules. Its definition sits in the QSAI Special Meal Codes guidelines, Version 2.0, issued by the Airline Catering Association with Medina Quality in November 2023. Because the code is defined by industry guidelines rather than by any single carrier, the same VJML request can produce different trays on different airlines.
SSR
An SSR, or Special Service Request, is the coded element in a passenger’s booking that carries a request such as a special meal to the airline. It sits inside the PNR and is transmitted to the airline and its caterer, which plan provisioning off the SSR list before a cut-off commonly 24 hours ahead of departure. For VJML, the SSR is the whole mechanism: if the record does not carry across a rebooking or a codeshare, the Jain meal has no order behind it.
JNML
JNML is a second Jain meal code, meant to carry the same restrictions as VJML. It does not appear in the published Special Service Request tables from the major GDS platforms, including Travelport’s SSR list and the Amadeus reference. That absence is the risk this article describes: a request keyed under a code a carrier’s system does not recognise may never be fulfilled.
QSAI
QSAI is the industry guideline that defines each airline special-meal code, including VJML. Version 2.0 was published on November 15, 2023 by the Airline Catering Association with Medina Quality, which took over the special-meal codes after IATA stopped maintaining them in 2016. It is the document that bars dairy, honey, fermented foods and the root and bulbous vegetables from VJML, even where an airline’s own summary page leaves those items out.

Questions? Answers.

Which airlines actually offer a VJML meal?

Emirates, Qatar Airways, Air India and Singapore Airlines all publish VJML meal definitions. Each defines the meal as excluding animal products, eggs, dairy and the usual onion, garlic and root-vegetable prohibitions.

How does a VJML request get from my booking to the airline and the caterer?

VJML is carried in the PNR as a Special Service Request using the four-letter code VJML, for example SRVJML/P3. That SSR record, not a free-text remark, is what transmits the order to the airline and the caterer.

What happens to my VJML request if my flight is changed or rebooked?

If you make a voluntary change to a reservation, Delta requires you to re-request the special meal. If an irregular operation puts you on a new flight less than 24 hours away, the airline cannot guarantee the special meal will be on board, so you should reconfirm immediately.