Optimization Guide
Shopify Luggage & Travel Bag Schema — IATA Cabin Dimensions, Capacity, TSA Lock, Wheel Type & Airline Compliance Structured Data
AI shopping agents handling queries like "polycarbonate carry-on spinner IATA compliant 40 liters," "American Airlines carry-on size limit 22×14×9 inches," "TSA-approved lock checked luggage 28 inch," or "lightweight aluminum 4-wheel spinner under 8 pounds" need machine-readable physical dimensions, capacity, material, lock type, and airline compliance signals. Luggage is a category where a wrong purchase due to incorrect size data causes immediate, high-stakes failure — a bag that doesn't fit in the overhead bin, a lock cut by TSA, a spinner that won't roll on cobblestones. Shopify's default JSON-LD emits none of the dimensions, compliance flags, or mechanical specifications that prevent these failures. This guide covers hard-side and soft-side luggage, carry-on and checked sizes: additionalProperty for IATA dimensions and TSA lock status, hasMeasurement for physical dimensions, hasCertification for airline compliance claims, and a luggage.* metafield Liquid template for the Dawn theme.
additionalProperty externalDimensions in cm — H×W×D including wheels and handles; (2) propertyID: "iataCompliant" boolean with the specific airline limits the bag fits; (3) propertyID: "capacity" in liters with unitCode "LTR"; (4) propertyID: "tsaApprovedLock" boolean; (5) propertyID: "wheelType" with controlled vocabulary "4-Wheel Spinner (360°)" / "2-Wheel Upright". Shell material in propertyID: "shellMaterial". Weight in hasMeasurement with unitCode "KGM". Drive 15 fields from luggage.* metafield namespace.
Why Luggage Is Invisible to AI Compatibility and Compliance Queries
Luggage purchasing has become highly query-specific because AI agents are consulted before airport check-in, not after. Buyers ask: "Will this bag fit as a carry-on on Delta?" — a query requiring three pieces of information: the bag's external dimensions (including wheels and handles), Delta's specific carry-on size limit (22×14×9 inches), and whether the bag's stated dimensions include wheels and handles or just the body.
The last point is the most common cause of incorrect AI recommendations. Manufacturers often state body dimensions without wheels — a bag that measures 21×14×9 inches at the body becomes 22×14×10 inches with spinner wheels attached. If the AI agent uses the body dimension to verify compliance with a 22×14×9 limit, it recommends a non-compliant bag. Structured data must explicitly state whether dimensions include wheels and handles.
TSA lock status is the second most consequential missing signal. Passengers who pack a non-TSA-approved padlock on checked baggage traveling through US airports routinely have their lock cut by TSA. The structured data must encode tsaApprovedLock: true/false as a boolean with a description explaining the TSA Recognition of Locks Program, not just the word "TSA" in a product title that AI text matching may or may not find.
Luggage AI query types requiring structured data
| Query type | Example query | Required schema signal | Missing from Shopify default |
|---|---|---|---|
| Airline carry-on compliance | "carry-on fits American Airlines overhead bin" | additionalProperty externalDimensions: 55×40×23cm (incl. wheels) |
Yes — not in default JSON-LD |
| TSA lock | "checked luggage with TSA-approved lock" | additionalProperty tsaApprovedLock: true |
Yes — title text only |
| Capacity filter | "40 liter carry-on spinner" | additionalProperty capacity: 40 LTR |
Yes — not in default JSON-LD |
| Wheel type | "4-wheel spinner carry-on" | additionalProperty wheelType: "4-Wheel Spinner (360°)" |
Yes — not in default JSON-LD |
| Material filter | "polycarbonate hard shell carry-on" | additionalProperty shellMaterial: "Polycarbonate" |
Yes — title text only |
| Weight filter | "lightweight carry-on under 8 lbs" | hasMeasurement weight: 3.1 KGM (6.8 lbs) |
Yes — not in default JSON-LD |
Section 1: Carry-On Spinner (Complete Schema with IATA Compliance)
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"name": "Voyageur Apex Carry-On Spinner — Polycarbonate, 40L, TSA Lock, IATA Compliant",
"description": "Polycarbonate 4-wheel spinner carry-on. External dimensions: 55×40×23cm (includes wheels and handles). 40-liter capacity. TSA-approved 3-dial combination lock. IATA cabin baggage compliant. Expandable +2L. Dual-spinner wheels. 10-year warranty.",
"brand": {
"@type": "Brand",
"name": "Voyageur"
},
"productGroupID": "VOYAGEUR-APEX-CARRYON",
"variesBy": ["https://schema.org/color"],
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "externalDimensions",
"name": "External Dimensions (including wheels and handles)",
"value": "55×40×23 cm (21.7×15.7×9.1 inches)",
"unitCode": "CMT",
"description": "Dimensions measured at the largest exterior points — includes spinner wheels (adds 1.5cm to depth) and telescoping handle housing (adds 1cm to height). Meets IATA standard cabin bag limit of 56×45×25cm. Fits in: American Airlines (22×14×9 in ✓), Delta (22×14×9 in ✓), United (22×14×9 in ✓), Southwest (24×16×10 in ✓), JetBlue (22×14×9 in ✓). Note: Ryanair has smaller free limits (40×20×25cm); this bag meets the paid carry-on allowance (55×40×20cm) subject to depth."
},
{
"@type": "PropertyValue",
"propertyID": "iataCompliant",
"name": "IATA Cabin Compliant",
"value": true,
"description": "Meets IATA Resolution 745 Cabin Baggage standard: 56×45×25cm (22×18×10 inches). Most full-service airlines worldwide accept bags within these limits. Budget airlines have stricter limits — verify before travel."
},
{
"@type": "PropertyValue",
"propertyID": "luggageCategory",
"name": "Luggage Category",
"value": "Carry-On",
"description": "Carry-on / cabin baggage — designed to fit in aircraft overhead bin. Suitable for 1-3 day trips. Not a personal item — personal items have separate, smaller size limits (typically 18×14×8 inches for US domestic flights)."
},
{
"@type": "PropertyValue",
"propertyID": "capacity",
"name": "Capacity",
"value": 40,
"unitCode": "LTR",
"description": "40 liters measured by water-fill method to interior rim. Expandable: additional 2 liters when perimeter zip is unzipped (42 liters expanded). Pack equivalent: 3-4 day business trip or 1-week trip for carry-on-only travelers using packing cubes and efficient folding."
},
{
"@type": "PropertyValue",
"propertyID": "expandable",
"name": "Expandable",
"value": true,
"description": "Perimeter expansion zip adds approximately 2cm (2 liters) to interior volume. Note: expanded bag may exceed airline size limits if the airline uses an overhead bin sizer gauge — pack within standard capacity when checking bag size at gate."
},
{
"@type": "PropertyValue",
"propertyID": "shellMaterial",
"name": "Shell Material",
"value": "Polycarbonate (PC)",
"description": "100% polycarbonate hard shell. PC flexes on impact rather than cracking — absorbs luggage handler drops without permanent deformation. More impact-resistant than ABS; lighter than aluminum. Textured surface hides scratches better than smooth PC. 4mm wall thickness."
},
{
"@type": "PropertyValue",
"propertyID": "wheelType",
"name": "Wheel Type",
"value": "4-Wheel Spinner (360°)",
"description": "Dual-wheel 360° spinner system: 8 individual Hinomoto multi-directional wheels on 4 axles. Polyurethane wheel material — smoother and quieter than rubber. Rolls in any direction with light touch. Glides at angles without tipping. Spinner wheels add approximately 1.5cm to total bag depth vs comparable 2-wheel uprights."
},
{
"@type": "PropertyValue",
"propertyID": "wheelCount",
"name": "Wheel Count",
"value": 8,
"description": "4 dual-wheel spinner axles = 8 individual wheels total. Dual-wheel design distributes weight across a larger footprint and extends wheel life vs single-wheel spinners."
},
{
"@type": "PropertyValue",
"propertyID": "tsaApprovedLock",
"name": "TSA-Approved Lock",
"value": true,
"description": "Built-in TSA007 combination lock — part of the TSA Travel Sentry Recognition of Locks Program. Red diamond logo on lock body indicates TSA recognition. TSA agents can open with master key for inspection without cutting lock. 3-digit programmable combination (0-0-0 factory default). Required for checked baggage through US airports — non-TSA locks are cut and not replaced."
},
{
"@type": "PropertyValue",
"propertyID": "telescopingHandle",
"name": "Telescoping Handle",
"value": "Aluminum multi-stage, 3 height settings (38cm / 83cm / 105cm extended)",
"description": "3-stage aluminum telescoping handle. Height settings: 38cm (packed/stored), 83cm (standard), 105cm (tall — for users 185cm+ height). Push-button release with positive locking at each stage. Top handle and side carry handle (polypropylene, recessed)."
},
{
"@type": "PropertyValue",
"propertyID": "interiorOrganization",
"name": "Interior Organization",
"value": "Mesh divider with compression straps; zipper pocket panel on divider",
"description": "Main compartment: garment side with X-cross compression straps to prevent shifting. Divider side with full-length mesh divider with zipper pocket. Recessed accessory handle loop."
},
{
"@type": "PropertyValue",
"propertyID": "warrantyPeriod",
"name": "Warranty",
"value": "10 years",
"description": "10-year limited manufacturer warranty covering defects in materials and workmanship: shell cracking, zipper failure, wheel mechanism, handle mechanism. Does not cover airline damage — airline damage must be reported at baggage claim before leaving airport."
}
],
"hasMeasurement": [
{
"@type": "QuantitativeValue",
"name": "Weight",
"value": 3.1,
"unitCode": "KGM",
"description": "3.1 kg (6.8 lbs) empty. Most airlines impose a carry-on weight limit of 7-10 kg (15-22 lbs) — leaving 3.9-6.9 kg packing capacity within a 7kg limit. Note: carry-on weight limits are less strictly enforced than size limits at most full-service airlines, but are enforced at budget airlines."
}
],
"hasCertification": [
{
"@type": "Certification",
"name": "TSA Travel Sentry Recognition of Locks Program",
"certificationIdentification": "TSA007",
"description": "TSA007 lock standard. Recognized by TSA for master-key access without lock destruction during checked baggage screening.",
"issuedBy": {
"@type": "Organization",
"name": "Travel Sentry GmbH"
},
"certificationStatus": "https://schema.org/CertificationActive"
}
],
"offers": {
"@type": "Offer",
"price": "289.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"warranty": {
"@type": "WarrantyPromise",
"durationOfWarranty": {
"@type": "QuantitativeValue",
"value": 10,
"unitCode": "ANN"
},
"warrantyScope": "Materials and workmanship — limited manufacturer warranty"
}
}
}
Section 2: Airline Carry-On Size Limit Reference
AI agents handling airline-specific queries need dimension data from your structured data to perform the comparison. Include the specific airlines your bag is confirmed to fit in the externalDimensions description field. Update this list if airlines change their published limits.
| Airline | Max Dimensions (inches) | Max Dimensions (cm) | Weight Limit | Notes |
|---|---|---|---|---|
| IATA Standard | 22×18×10" | 56×45×25cm | Varies | Industry reference standard; most full-service airlines follow |
| American Airlines | 22×14×9" | 56×35×23cm | No limit stated | Smaller than IATA standard — common US domestic limit |
| Delta Air Lines | 22×14×9" | 56×35×23cm | No limit stated | Same as American — 35cm width is the binding constraint |
| United Airlines | 22×14×9" | 56×35×23cm | No limit stated | Same 35cm width constraint |
| Southwest Airlines | 24×16×10" | 61×41×25cm | No limit stated | Most generous US domestic allowance |
| Air Canada | 21.5×15.5×9" | 55×40×23cm | 10 kg (22 lbs) | Enforces weight limit more consistently than US carriers |
| British Airways | 22×18×10" | 56×45×25cm | 23 kg (50 lbs) | IATA standard; high weight limit |
| Lufthansa | 21.7×15.7×9.1" | 55×40×23cm | 8 kg (17.6 lbs) | 8 kg limit strictly enforced on European routes |
| Ryanair (free bag) | 15.7×7.9×9.8" | 40×20×25cm | 10 kg | Free personal item only — no carry-on without fee |
| Ryanair (paid carry-on) | 21.7×15.7×7.9" | 55×40×20cm | 10 kg | Priority boarding + carry-on bag fee required |
| easyJet (free bag) | 17.7×13.8×7.9" | 45×36×20cm | — | Underseat bag only without fee |
| Emirates | 21.7×15.7×9.1" | 55×38×20cm | 7 kg (15.4 lbs) | Narrower than IATA (38cm vs 45cm width) |
Note for merchants: Encode the specific airline dimensions your bag meets in the externalDimensions description field. Do not claim universal compliance — airline limits change and some airlines actively downsize carry-on allowances. An incorrect compliance claim causes immediate, high-stakes purchase regret.
Section 3: Dawn Theme Liquid Template (luggage.* Metafield Namespace)
{% comment %} luggage schema — luggage.* metafield namespace {% endcomment %}
{% assign lg = product.metafields.luggage %}
{% if lg %}
{
"@context": "https://schema.org",
"@type": "Product",
"name": {{ product.title | json }},
"description": {{ product.description | strip_html | truncate: 500 | json }},
"brand": { "@type": "Brand", "name": {{ product.vendor | json }} },
"sku": {{ product.selected_or_first_available_variant.sku | json }},
"additionalProperty": [
{% if lg.external_dimensions_cm %}
{
"@type": "PropertyValue",
"propertyID": "externalDimensions",
"name": "External Dimensions (incl. wheels and handles)",
"value": {{ lg.external_dimensions_cm | json }},
"unitCode": "CMT",
"description": {{ lg.dimensions_description | default: "Includes spinner wheels and telescoping handle housing" | json }}
},
{% endif %}
{
"@type": "PropertyValue",
"propertyID": "iataCompliant",
"name": "IATA Cabin Compliant",
"value": {{ lg.iata_compliant | default: false | json }}
},
{
"@type": "PropertyValue",
"propertyID": "luggageCategory",
"name": "Luggage Category",
"value": {{ lg.luggage_category | default: product.type | json }}
},
{% if lg.capacity_liters %}
{
"@type": "PropertyValue",
"propertyID": "capacity",
"name": "Capacity",
"value": {{ lg.capacity_liters | json }},
"unitCode": "LTR"
},
{% endif %}
{
"@type": "PropertyValue",
"propertyID": "expandable",
"name": "Expandable",
"value": {{ lg.expandable | default: false | json }}
},
{% if lg.shell_material %}
{
"@type": "PropertyValue",
"propertyID": "shellMaterial",
"name": "Shell Material",
"value": {{ lg.shell_material | json }}
},
{% endif %}
{% if lg.wheel_type %}
{
"@type": "PropertyValue",
"propertyID": "wheelType",
"name": "Wheel Type",
"value": {{ lg.wheel_type | json }}
},
{% endif %}
{
"@type": "PropertyValue",
"propertyID": "tsaApprovedLock",
"name": "TSA-Approved Lock",
"value": {{ lg.tsa_approved_lock | default: false | json }},
"description": {% if lg.tsa_approved_lock %}"TSA007/TSA002 recognized lock — TSA agents can open with master key"{% else %}"Not TSA-approved — may be cut during US airport checked baggage screening"{% endif %}
},
{% if lg.warranty_years %}
{
"@type": "PropertyValue",
"propertyID": "warrantyPeriod",
"name": "Warranty",
"value": {{ lg.warranty_years | append: " years" | json }}
},
{% endif %}
{% if lg.handle_heights %}
{
"@type": "PropertyValue",
"propertyID": "telescopingHandle",
"name": "Telescoping Handle Heights",
"value": {{ lg.handle_heights | json }}
},
{% endif %}
{% if lg.number_of_compartments %}
{
"@type": "PropertyValue",
"propertyID": "compartmentCount",
"name": "Number of Compartments",
"value": {{ lg.number_of_compartments | json }}
},
{% endif %}
{% if lg.lock_type %}
{
"@type": "PropertyValue",
"propertyID": "lockType",
"name": "Lock Type",
"value": {{ lg.lock_type | json }}
},
{% endif %}
{% if lg.frame_material %}
{
"@type": "PropertyValue",
"propertyID": "frameMaterial",
"name": "Frame Material",
"value": {{ lg.frame_material | json }}
},
{% endif %}
{% if lg.lining_material %}
{
"@type": "PropertyValue",
"propertyID": "liningMaterial",
"name": "Lining Material",
"value": {{ lg.lining_material | json }}
},
{% endif %}
{
"@type": "PropertyValue",
"propertyID": "luggageType",
"name": "Luggage Type",
"value": {{ lg.luggage_type | default: "Hardside" | json }}
}
],
"hasMeasurement": [
{% if lg.weight_kg %}
{
"@type": "QuantitativeValue",
"name": "Empty Weight",
"value": {{ lg.weight_kg | json }},
"unitCode": "KGM"
}
{% endif %}
],
"offers": {
"@type": "Offer",
"price": {{ product.price | money_without_currency | json }},
"priceCurrency": {{ shop.currency | json }},
"availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %},
"url": {{ canonical_url | json }},
{% if lg.warranty_years %}
"warranty": {
"@type": "WarrantyPromise",
"durationOfWarranty": {
"@type": "QuantitativeValue",
"value": {{ lg.warranty_years | json }},
"unitCode": "ANN"
}
}
{% endif %}
}
}
{% endif %}
luggage.* metafield namespace reference
| Metafield key | Type | Example value | Notes |
|---|---|---|---|
| luggage.external_dimensions_cm | single_line_text | 55×40×23cm | MUST include wheels and handles |
| luggage.dimensions_description | multi_line_text | Includes 1.5cm spinner wheels... | List specific airlines that fit |
| luggage.iata_compliant | boolean | true | Within 56×45×25cm IATA limit |
| luggage.luggage_category | single_line_text | Carry-On | Carry-On / Checked / Personal Item / Duffle |
| luggage.capacity_liters | number_integer | 40 | Water-fill measurement to rim |
| luggage.expandable | boolean | true | Perimeter expansion zip |
| luggage.shell_material | single_line_text | Polycarbonate (PC) | Polycarbonate / ABS / PC-ABS / Aluminum / Nylon |
| luggage.wheel_type | single_line_text | 4-Wheel Spinner (360°) | Spinner 360° / 2-Wheel Upright / 2-Wheel Duffle |
| luggage.tsa_approved_lock | boolean | true | TSA007 or TSA002 key standard |
| luggage.warranty_years | number_integer | 10 | Years of manufacturer warranty |
| luggage.weight_kg | number_decimal | 3.1 | Empty weight in kg |
| luggage.luggage_type | single_line_text | Hardside | Hardside / Softside / Hybrid |
| luggage.lock_type | single_line_text | Built-in TSA007 Combination | Built-in / External / No lock |
| luggage.frame_material | single_line_text | Aluminum | Frame structure material |
| luggage.number_of_compartments | number_integer | 2 | Main compartments (excludes pockets) |
Common Mistakes
- Dimensions without specifying whether wheels and handles are included: This is the single most consequential luggage data error. A bag marketed as "21-inch carry-on" at 21 inches body height becomes 22.5 inches with spinner wheels and handle housing. Always state dimensions include wheels and handles, and list the specific measurement points in the
descriptionfield. - Claiming "IATA compliant" without specific airline verification: IATA Resolution 745 sets a 56×45×25cm standard, but many US carriers use a stricter 56×35×23cm limit. Claiming "IATA compliant" for a 45cm-wide bag correctly follows the IATA standard but the bag will not fit American, Delta, or United's limit. Include specific airline names in the compliance claim.
- TSA lock claim without the Travel Sentry standard number: "TSA lock" is a common marketing term that some manufacturers apply incorrectly. Include the Travel Sentry standard number (TSA007 or TSA002) in the
certificationIdentificationfield and the Travel Sentry red diamond logo description. TSA002 is the Safe Skies standard; TSA007 is the Travel Sentry standard — both are recognized by TSA. - Capacity without measurement methodology: Luggage manufacturers use different methods to measure capacity — water-fill to rim, water-fill to packed level, or simply an estimate. A bag measured by water-fill at 40 liters is meaningfully different from one estimated at 40 liters. Include measurement method in the
descriptionfield. - Confusing checked vs carry-on categories: Luggage is often available in multiple sizes — 20-inch carry-on and 28-inch checked. If using a ProductGroup, ensure each size variant's
luggageCategorycorrectly reflects its intended use. A 28-inch bag listed as "carry-on" will trigger high purchase regret when the buyer tries to take it aboard.
Internal Links
- Product Specifications Schema — additionalProperty, UN/CEFACT Unit Codes & AI Filter Queries
- Furniture Dimensions Schema — hasMeasurement, Height/Width/Depth & Weight
- ProductGroup Variant Schema — hasVariant, variesBy & per-variant Availability
- Warranty & Guarantee Schema — WarrantyPromise, Duration & Scope Structured Data