{
  "schema_version": "1.0",
  "standard_version": "1.15",
  "airport": "FRA",
  "language": "en",
  "generated_from": "data/airport-guidance.json",
  "live_status": "unknown",
  "automatic_refresh": false,
  "topic": "overview",
  "identity": {
    "name": [
      "Frankfurt Main",
      "Frankfurt Main",
      "Frankfurt Main",
      "Frankfurt am Main"
    ],
    "place": [
      "Frankfurt, Germany",
      "Frankfurt, Germany",
      "Frankfurt, Germany",
      "Frankfurt, Deutschland"
    ],
    "local": "de",
    "locales": [
      "en",
      "de"
    ],
    "country": "Germany",
    "published": true,
    "featured": false,
    "aliases": [
      "fra",
      "frankfurt",
      "frankfurt main",
      "frankfurt am main"
    ],
    "focus": [
      "T1 or T3. Start with your flight.",
      "T1 or T3. Start with your flight.",
      "T1 or T3. Start with your flight.",
      "T1 oder T3. Beginne mit deinem Flug."
    ],
    "timezone": "Europe/Berlin",
    "official_website": "https://www.frankfurt-airport.com/en/",
    "official_refs": {
      "flights": "https://www.frankfurt-airport.com/en/flights-and-transfer/departures.html",
      "parking": "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html",
      "map": "https://www.frankfurt-airport.com/en/at-the-airport/orientation.html",
      "terminals": "https://www.frankfurt-airport.com/en/flights-and-transfer/terminal-3.html",
      "services": "https://www.frankfurt-airport.com/en/at-the-airport.html",
      "security": "https://www.frankfurt-airport.com/en/travel-planning/check-in-luggage-controls/security-check.html",
      "transfer": "https://www.frankfurt-airport.com/en/flights-and-transfer/transferring-at-fra.html",
      "pickup": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html"
    },
    "city_label": [
      "Frankfurt, Darmstadt and beyond",
      "Frankfurt, Darmstadt and beyond",
      "Frankfurt, Darmstadt and beyond",
      "Frankfurt, Darmstadt und weitere Ziele"
    ],
    "topics": [
      "flights",
      "transport",
      "parking",
      "terminals",
      "map",
      "at-the-airport",
      "security",
      "connecting",
      "pickup",
      "hotels",
      "delayed",
      "late-arrival"
    ],
    "standard_version": "1.14",
    "guide_adapter": "shared-guidance-v1",
    "featured_routes": {
      "overview": [
        "fra-s8-s9",
        "fra-airliner"
      ],
      "quick": [
        "fra-s8-s9",
        "fra-airliner",
        "fra-taxi"
      ]
    },
    "continent": "Europe"
  },
  "answers": {
    "security": {
      "heading": "Prepare for your checkpoint",
      "summary": "CT checkpoints differ from transfer and older checkpoints. Know which rule applies.",
      "answer_heading": "CT or conventional screening?",
      "claims": [
        {
          "id": "fra-liquids",
          "text": "Most T1 and all T3 CT checkpoints allow liquids up to 2 litres; electronics may stay in the bag. At C1/C2/C4/C6, special T1 and transfer checkpoints, use containers up to100ml in a transparent resealable1L bag. Follow your checkpoint’s instructions.",
          "source_url": "https://www.frankfurt-airport.com/en/travel-planning/check-in-luggage-controls/security-check.html",
          "status": "confirmed",
          "checked_at": "2026-10-09",
          "review_due_at": "2026-11-08T00:00:00Z",
          "acceptance": "prototype_pending_canonical_review",
          "method": "reviewed_primary_source",
          "live_availability": "unknown",
          "conditions": {
            "ct_allowance_litres": 2,
            "conventional_container_max_ml": 100,
            "conventional_bag_litres": 1,
            "exceptions": [
              "C1",
              "C2",
              "C4",
              "C6",
              "special T1 checkpoints",
              "transfer checkpoints"
            ],
            "per_container_ct_scope": "not_reinterpreted"
          }
        }
      ],
      "next_actions": [
        {
          "external": true,
          "url": "https://www.frankfurt-airport.com/en/travel-planning/check-in-luggage-controls/security-check.html",
          "label": "Current Frankfurt security instructions"
        },
        {
          "topic": "flights",
          "label": "Check your flight"
        }
      ],
      "limits": "Do not apply CT allowances to transfer checkpoints or another airport. Airline, destination and return-airport rules remain separate. No live queue is shown.",
      "presentation": {
        "metric": "CT",
        "unit": "",
        "scope": "Checkpoint-specific rules",
        "heading": "Exceptions stay visible",
        "exception": "Transfer and conventional checkpoints:100ml containers,1L bag. Check your actual checkpoint."
      }
    },
    "connecting": {
      "heading": "Check your connection",
      "summary": "Gate area, baggage and tickets decide the route. Additional security may be required.",
      "answer_heading": "One ticket or separate flights?",
      "claims": [
        {
          "id": "fra-gate",
          "text": "Check the onward gate on current monitors and follow Flight Connections signs. For a terminal change, use the airport’s route for your actual itinerary. No universal connection time is guaranteed.",
          "source_url": "https://www.frankfurt-airport.com/en/flights-and-transfer/transferring-at-fra.html",
          "status": "confirmed",
          "checked_at": "2026-10-09",
          "review_due_at": "2026-11-08T00:00:00Z",
          "acceptance": "prototype_pending_canonical_review",
          "method": "reviewed_primary_source",
          "live_availability": "unknown"
        },
        {
          "id": "fra-bags",
          "text": "Confirm through-checked baggage with the airline. Individually booked flights or bags not checked through may require collection, arrivals and recheck. Confirm permission to enter Germany if you need a landside route.",
          "source_url": "https://www.frankfurt-airport.com/en/flights-and-transfer/transferring-at-fra.html",
          "status": "confirmed",
          "checked_at": "2026-10-09",
          "review_due_at": "2026-11-08T00:00:00Z",
          "acceptance": "prototype_pending_canonical_review",
          "method": "reviewed_primary_source",
          "live_availability": "unknown"
        },
        {
          "id": "fra-screening",
          "text": "Additional security may be required. Transfer checkpoints retain100ml containers in a1L bag. Check border requirements for your actual journey with your airline.",
          "source_url": "https://www.frankfurt-airport.com/en/travel-planning/check-in-luggage-controls/security-check.html",
          "status": "confirmed",
          "checked_at": "2026-10-09",
          "review_due_at": "2026-11-08T00:00:00Z",
          "acceptance": "prototype_pending_canonical_review",
          "method": "reviewed_primary_source",
          "live_availability": "unknown"
        }
      ],
      "next_actions": [
        {
          "external": true,
          "url": "https://www.frankfurt-airport.com/en/flights-and-transfer/transferring-at-fra.html",
          "label": "Official transfer instructions"
        },
        {
          "topic": "terminals",
          "label": "Find your terminals"
        }
      ],
      "limits": "No safe connection or minimum time is calculated. Travel-document permission is not assessed.",
      "presentation": {
        "claim_headings": {
          "fra-gate": "Follow your actual onward flight",
          "fra-bags": "Tickets and baggage",
          "fra-screening": "Security and border checks"
        }
      }
    },
    "transport": {
      "schema_version": "1.0",
      "airport": "FRA",
      "language": "en",
      "direction": "airport_to_destination",
      "acceptance": "prototype_source_review_only_not_gold",
      "generated_from": "data/transport.json",
      "standard_version": "1.15",
      "reconciliation": {
        "batch": "pilot-transport-20261007",
        "canonical_source": "api.airport_transport_v1",
        "export_kind": "reviewed_snapshot",
        "automatic_refresh": false,
        "reviewed_fare_claims": 10,
        "directions": [
          "from",
          "to"
        ]
      },
      "routes": [
        {
          "route_id": "fra-s8-s9",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "train",
          "operator": "S8 / S9 · Frankfurt Hauptbahnhof",
          "origin": "FRA",
          "destination": "Frankfurt (Main) Hbf",
          "conditions": "S8/S9 serve Frankfurt city. Regional station is below T1; T3 requires SkyLine, published station-to-T3 10–15 min. Confirm your date and platform.",
          "fare_conditions": "Frankfurt zone 5000 ↔ airport 5090. Child 6–14: €4.10. Ordinary city ticket excludes airport. Immediate one-way travel; no return or journey break.",
          "claims": {
            "fare": {
              "status": "confirmed",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "€6.90 adult single",
              "source_url": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
              "verification_handoff": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "amount": 6.9,
              "currency": "EUR",
              "price_model": "fixed",
              "basis": "per_person",
              "conditions": {
                "directions": [
                  "from",
                  "to"
                ],
                "zones": [
                  "5000",
                  "5090"
                ],
                "passenger_category": "adult",
                "ticket_type": "single",
                "child_age": "6–14",
                "child_amount": 4.1,
                "immediate_travel": true,
                "journey_break_allowed": false
              },
              "localized_conditions": "Frankfurt zone 5000 ↔ airport 5090. Child 6–14: €4.10. Ordinary city ticket excludes airport. Immediate one-way travel; no return or journey break."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "confirmed",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "T1 Level 0 · Regionalbahnhof, tracks 1–3; confirm actual platform",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Use the RMV planner for your travel date.",
              "source_url": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
              "verification_handoff": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
          "commercial": false
        },
        {
          "route_id": "fra-airliner",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "bus",
          "operator": "AirLiner · Darmstadt Hbf",
          "origin": "FRA",
          "destination": "Darmstadt Hbf",
          "conditions": "This bus serves Darmstadt, not Frankfurt city. T1 only; take SkyLine for T3. Check current departures.",
          "fare_conditions": "Child 6–14: €7.90. €3.80 is the supplement only with a qualifying valid ticket, including Deutschlandticket.",
          "claims": {
            "fare": {
              "status": "confirmed",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "€10.70 adult single incl. supplement",
              "source_url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "verification_handoff": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "amount": 10.7,
              "currency": "EUR",
              "price_model": "fixed",
              "basis": "per_person",
              "conditions": {
                "directions": [
                  "from",
                  "to"
                ],
                "destination": "Darmstadt Hbf",
                "child_amount": 7.9,
                "existing_ticket_supplement": 3.8,
                "ticket_required_for_supplement_only": true
              },
              "localized_conditions": "Child 6–14: €7.90. €3.80 is the supplement only with a qualifying valid ticket, including Deutschlandticket."
            },
            "duration": {
              "status": "confirmed",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "29 min published example to Darmstadt Hbf",
              "source_url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "verification_handoff": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "minutes_min": 29,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "confirmed",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "T1 bus bay 11 near entrance B6",
              "source_url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "verification_handoff": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Date-specific timetable required; no last departure guaranteed.",
              "source_url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "verification_handoff": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.heagmobilo.de/fahrt-planen/airliner/",
          "commercial": false
        },
        {
          "route_id": "fra-taxi",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "taxi",
          "operator": "Licensed taxi",
          "origin": "FRA",
          "destination": "Your selected address",
          "conditions": "Ask for the fare basis before starting; no fixed Frankfurt fare is verified here.",
          "fare_conditions": null,
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "meter_or_quote",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Ask for the fare basis before starting; no fixed Frankfurt fare is verified here."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Use the signed taxi rank at your passenger terminal; confirm the airline for drop-off.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Ask for the fare basis before starting; no fixed Frankfurt fare is verified here.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
          "commercial": false
        },
        {
          "route_id": "fra-uber",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "app",
          "operator": "Uber",
          "origin": "FRA",
          "destination": "Your selected address",
          "conditions": "Confirm fare, vehicle and pickup in the app. T3 pickup and drop-off use different zones.",
          "fare_conditions": null,
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "dynamic_quote",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Confirm fare, vehicle and pickup in the app. T3 pickup and drop-off use different zones."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Uber: T1 P31 departure level; T3 pickup P62 charter bus lane. T3 drop-off P63. Bolt: follow its own app location.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Confirm fare, vehicle and pickup in the app. T3 pickup and drop-off use different zones.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
          "commercial": false
        },
        {
          "route_id": "fra-rental",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "rental",
          "operator": "Car hire",
          "origin": "FRA",
          "destination": "Your selected address",
          "conditions": "Choose your provider and actual return terminal. Rental price, fuel and parking are separate.",
          "fare_conditions": null,
          "claims": {
            "fare": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "dynamic_quote",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Choose your provider and actual return terminal. Rental price, fuel and parking are separate."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Check collection and return with the rental provider.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Choose your provider and actual return terminal. Rental price, fuel and parking are separate.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
          "commercial": false
        },
        {
          "route_id": "fra-car",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "car",
          "operator": "Own car / passenger pickup",
          "origin": "FRA",
          "destination": "Your selected address",
          "conditions": "Follow T1/T3 road signs; use parking for waiting. Fuel and parking depend on the journey.",
          "fare_conditions": null,
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "own_vehicle_cost_components",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Follow T1/T3 road signs; use parking for waiting. Fuel and parking depend on the journey."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "T1 or T3 · choose the actual flight terminal, then permitted parking.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "partial",
              "checked_at": "2026-10-09",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Follow T1/T3 road signs; use parking for waiting. Fuel and parking depend on the journey.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "verification_handoff": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html",
          "commercial": false
        },
        {
          "route_id": "fra-sharing-deer",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "sharing",
          "operator": "Deer e-Carsharing",
          "origin": "FRA",
          "destination": "Eligible destination / business area in the app",
          "conditions": "Reserve in the app. Start and end at eligible deer stations; use the vehicle code card at the barrier.",
          "fare_conditions": "Check app tariff, airport surcharge and destination eligibility before booking. No fixed price or travel time verified.",
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.deer-mobility.de/flughafenfahrten/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "app_tariff",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Check app tariff, airport surcharge and destination eligibility before booking. No fixed price or travel time verified."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.deer-mobility.de/flughafenfahrten/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Terminal 1 · P2 entrance, level 14, row 1406",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.deer-mobility.de/flughafenfahrten/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Reserve in the app. Start and end at eligible deer stations; use the vehicle code card at the barrier.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.deer-mobility.de/flughafenfahrten/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.deer-mobility.de/flughafenfahrten/",
          "commercial": false
        },
        {
          "route_id": "fra-sharing-free2move",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "sharing",
          "operator": "Free2Move car sharing",
          "origin": "FRA",
          "destination": "Eligible destination / business area in the app",
          "conditions": "Collect or return at Terminal 1, row 611. The barrier recognises the car automatically; do not take a parking ticket. End the rental in the eligible Frankfurt Home Area or dedicated airport space; check vehicle availability in the app.",
          "fare_conditions": "App trip tariff + €7.99 airport fee in either direction, charged after the trip ends. Check the current offer and eligible business area; no fixed total price or travel time verified.",
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "verification_handoff": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "app_tariff",
              "amount": null,
              "currency": "EUR",
              "airport_fee": {
                "amount": 7.99,
                "currency": "EUR",
                "basis": "per_airport_trip_either_direction",
                "charged": "after_rental_end",
                "source_url": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/"
              },
              "conditions": null,
              "localized_conditions": "App trip tariff + €7.99 airport fee in either direction, charged after the trip ends. Check the current offer and eligible business area; no fixed total price or travel time verified."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Terminal 1 · row 611; follow B43 departures and Carsharing signs",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Collect or return at Terminal 1, row 611. The barrier recognises the car automatically; do not take a parking ticket. End the rental in the eligible Frankfurt Home Area or dedicated airport space; check vehicle availability in the app.",
              "source_url": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "verification_handoff": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.free2move.com/de/en/car-sharing/frankfurt-airport/",
          "commercial": false
        },
        {
          "route_id": "fra-sharing-miles",
          "canonical_entity_id": null,
          "reconciliation_status": "source_reviewed_prototype_pending_canonical_review",
          "suboptions": [],
          "mode": "sharing",
          "operator": "MILES car sharing",
          "origin": "FRA",
          "destination": "Eligible destination / business area in the app",
          "conditions": "Start or end the rental at T1. Automatic barrier: do not take a parking ticket. Check eligible destination and vehicle in the app.",
          "fare_conditions": "Check app tariff, airport surcharge and destination eligibility before booking. No fixed price or travel time verified.",
          "claims": {
            "fare": {
              "status": "partial",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.miles-mobility.com/en-de",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "price_model": "app_tariff",
              "amount": null,
              "currency": "EUR",
              "conditions": null,
              "localized_conditions": "Check app tariff, airport surcharge and destination eligibility before booking. No fixed price or travel time verified."
            },
            "duration": {
              "status": "unknown",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": null,
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.miles-mobility.com/en-de",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "stops": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Terminal 1 · row 611; follow B43 departures and Carsharing signs",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.miles-mobility.com/en-de",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            },
            "service": {
              "status": "confirmed",
              "checked_at": "2026-10-10",
              "review_due_at": "2026-11-08T00:00:00Z",
              "acceptance": "prototype_pending_canonical_review",
              "method": "reviewed_primary_source",
              "live_availability": "unknown",
              "value": "Start or end the rental at T1. Automatic barrier: do not take a parking ticket. Check eligible destination and vehicle in the app.",
              "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
              "verification_handoff": "https://www.miles-mobility.com/en-de",
              "freshness": "recorded_not_live",
              "valid_until": null,
              "conditions": null,
              "localized_conditions": null
            }
          },
          "source_url": "https://www.miles-mobility.com/en-de",
          "commercial": false
        }
      ],
      "directory_groups": [
        {
          "title": "More rail and bus destinations",
          "description": "Regional trains, ICE/IC and other buses serve distinct destinations. Prices, exact stops and service windows are not fully reviewed here; use the official transport directory and operator planner. No absence of other modes is asserted.",
          "options": [],
          "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport.html",
          "checked_at": "2026-10-09",
          "fare": null,
          "acceptance": "prototype_pending_canonical_review",
          "direction_scope": "select_actual_journey"
        }
      ],
      "ride_apps": {
        "providers": {
          "uber": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "source_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html"
          },
          "bolt": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "source_url": "https://bolt.eu/en/airports/fra/"
          }
        },
        "pickup_instructions": [
          "Uber: T1 P31 on departures level; T3 pickup at P62 charter bus lane, drop-off at P63. Confirm your final assigned point in Uber. Bolt pickup is assigned in Bolt; these Uber zones are not confirmed for Bolt. Taxi ranks are separate.",
          "Uber: T1 P31 on departures level; T3 pickup at P62 charter bus lane, drop-off at P63. Confirm your final assigned point in Uber. Bolt pickup is assigned in Bolt; these Uber zones are not confirmed for Bolt. Taxi ranks are separate.",
          "Uber: T1 P31 on departures level; T3 pickup at P62 charter bus lane, drop-off at P63. Confirm your final assigned point in Uber. Bolt pickup is assigned in Bolt; these Uber zones are not confirmed for Bolt. Taxi ranks are separate.",
          "Uber: T1 P31 auf der Abflugebene; T3 Abholung P62 Charterbusspur, Absetzen P63. Endgültigen Treffpunkt in Uber prüfen. Bolt weist den Treffpunkt in der eigenen App zu; Uber-Zonen sind für Bolt nicht bestätigt. Taxistände sind getrennt."
        ],
        "pickup_status": "terminal_specific_uber_app_assigned_bolt",
        "pickup_map": null,
        "instructions_url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-ride-hailing-car-sharing.html",
        "live_availability": "unknown"
      },
      "booking": {
        "provider": "GetTransfer",
        "url": "https://gettransfer.tpm.lv/ho1wX71A",
        "affiliate": true,
        "destination_scope": "provider_homepage",
        "availability": "check_with_provider",
        "provided_at": "2026-10-10",
        "commercial": true
      },
      "rental_booking": {
        "provider": "Localrent",
        "url": "https://localrent.tpm.lv/hscKEme8",
        "affiliate": true,
        "destination_scope": "provider_homepage",
        "availability": "check_with_provider",
        "provided_at": "2026-10-10"
      },
      "limits": [
        "No live availability",
        "No guaranteed connection or airport arrival time",
        "Unknown or conflicting claims are not negative availability statements"
      ]
    },
    "pickup": {
      "schema_version": "1.0",
      "airport": "FRA",
      "language": "en",
      "acceptance": "prototype_source_review_only_not_gold",
      "generated_from": "data/parking.json",
      "booking_url": "https://parken.frankfurt-airport.com/",
      "map_url": "https://www.frankfurt-airport.com/en/at-the-airport/orientation.html",
      "accessibility_url": "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html",
      "intro": "Drop off, collect or leave your car? Choose T1 or T3 first.",
      "summary": "Use terminal parking for waiting. T1 arrivals access is limited by works. Short forecourt allowances do not apply to Uber P31.",
      "options": [
        {
          "id": "dropoff",
          "name": "T1 P35/P39 · T3 P61/P63",
          "kind": "dropoff",
          "purposes": [
            "dropoff"
          ],
          "access": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "Choose the departure terminal and follow current signs.",
            "source_urls": [
              "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-car.html"
            ],
            "freshness": "recorded_not_live"
          },
          "rules": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "Up to 10 min free, at most twice per calendar day; maximum stay 3 hours. P31 has no free 10 min.",
            "source_urls": [
              "https://www.frankfurt-airport.com/content/dam/fraport-travel/airport/dokumente/anreise-und-parken/Parken/en/parking_prices-frankfurt-airport.pdf/_jcr_content/renditions/original.media_file.download_attachment.file/parking_prices-frankfurt-airport.pdf"
            ],
            "freshness": "recorded_not_live"
          },
          "price": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "If charged: up to 15 min €3.50; 30 min €6; 45 min €8.50; 60 min €17. Each later hour €17.",
            "source_urls": [
              "https://www.frankfurt-airport.com/content/dam/fraport-travel/airport/dokumente/anreise-und-parken/Parken/en/parking_prices-frankfurt-airport.pdf/_jcr_content/renditions/original.media_file.download_attachment.file/parking_prices-frankfurt-airport.pdf"
            ],
            "freshness": "recorded_not_live",
            "amount": 3.5,
            "currency": "EUR",
            "price_kind": "time_band",
            "free_minutes": 10
          },
          "canonical_ground": []
        },
        {
          "id": "terminal-parking",
          "name": "Terminal parking · T1 / T3",
          "kind": "parking",
          "purposes": [
            "pickup",
            "trip"
          ],
          "access": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "T1 P2/P3 or P1 right lane Level 3. T3 P11 without reservation; P10 with reservation.",
            "source_urls": [
              "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html"
            ],
            "freshness": "recorded_not_live"
          },
          "rules": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "For waiting, park and meet the passenger after they confirm they are ready. Booking depends on dates and capacity.",
            "source_urls": [
              "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html"
            ],
            "freshness": "recorded_not_live"
          },
          "price": {
            "status": "confirmed",
            "checked_at": "2026-10-09",
            "review_due_at": "2026-11-08T00:00:00Z",
            "acceptance": "prototype_pending_canonical_review",
            "method": "reviewed_primary_source",
            "live_availability": "unknown",
            "text": "Unbooked: €4 up to 30 min; €7.50 up to 60 min; €7.50 each later hour; maximum €43/day. Prebooked price is a separate quote.",
            "source_urls": [
              "https://www.frankfurt-airport.com/content/dam/fraport-travel/airport/dokumente/anreise-und-parken/Parken/en/parking_prices-frankfurt-airport.pdf/_jcr_content/renditions/original.media_file.download_attachment.file/parking_prices-frankfurt-airport.pdf"
            ],
            "freshness": "recorded_not_live",
            "amount": 4,
            "currency": "EUR",
            "price_kind": "time_band"
          },
          "canonical_ground": []
        }
      ],
      "canonical_accessibility": [],
      "live_occupancy": "unknown",
      "affiliate": false,
      "coverage": "official_products_only"
    }
  },
  "contracts": [
    {
      "topic": "flights",
      "url": "/data/en/fra/flights.json"
    },
    {
      "topic": "transport",
      "url": "/data/en/fra/transport/from.json"
    },
    {
      "topic": "parking",
      "url": "/data/en/fra/parking.json"
    },
    {
      "topic": "terminals",
      "url": "/data/en/fra/terminals.json"
    },
    {
      "topic": "map",
      "url": "/data/en/fra/map.json"
    },
    {
      "topic": "at-the-airport",
      "url": "/data/en/fra/services.json"
    },
    {
      "topic": "security",
      "url": "/data/en/fra/security.json"
    },
    {
      "topic": "connecting",
      "url": "/data/en/fra/connecting.json"
    },
    {
      "topic": "pickup",
      "url": "/data/en/fra/parking.json"
    },
    {
      "topic": "hotels",
      "url": "/data/en/fra/hotels.json"
    },
    {
      "topic": "delayed",
      "url": "/data/en/fra/delayed.json"
    },
    {
      "topic": "late-arrival",
      "url": "/data/en/fra/late-arrival.json"
    }
  ],
  "human_url": "/en/fra/",
  "content_blocks": [
    {
      "type": "p",
      "text": "Frankfurt, Germany"
    },
    {
      "type": "h1",
      "text": "Frankfurt Main"
    },
    {
      "type": "p",
      "text": "Find your next step at Frankfurt Main."
    },
    {
      "type": "h2",
      "text": "What brings you here?"
    },
    {
      "type": "p",
      "text": "Choose a situation to bring relevant answers first."
    },
    {
      "type": "p",
      "text": "Preparing choices. You can already use the topic links."
    },
    {
      "type": "p",
      "text": "Interactive choices require JavaScript. Use the topic links."
    },
    {
      "type": "h2",
      "text": "Practical airport answers"
    },
    {
      "type": "p",
      "text": "Source dates shown with each answer"
    },
    {
      "type": "h3",
      "text": "From the airport · FRA"
    },
    {
      "type": "p",
      "text": "FRA → Frankfurt (Main) Hbf"
    },
    {
      "type": "p",
      "text": "Frankfurt zone 5000 ↔ airport 5090. Child 6–14: €4.10. Ordinary city ticket excludes airport. Immediate one-way travel; no return or journey break."
    },
    {
      "type": "summary",
      "text": "Fact sources & dates"
    },
    {
      "type": "dt",
      "text": "Journey time"
    },
    {
      "type": "dd",
      "text": "Not verified · 2026-10-09 · Source ↗"
    },
    {
      "type": "dt",
      "text": "Fare"
    },
    {
      "type": "dd",
      "text": "Source-backed · 2026-10-09 · Frankfurt zone 5000 ↔ airport 5090. Child 6–14: €4.10. Ordinary city ticket excludes airport. Immediate one-way travel; no return or journey break. · Source ↗"
    },
    {
      "type": "p",
      "text": "FRA → Darmstadt Hbf"
    },
    {
      "type": "p",
      "text": "Child 6–14: €7.90. €3.80 is the supplement only with a qualifying valid ticket, including Deutschlandticket."
    },
    {
      "type": "summary",
      "text": "Fact sources & dates"
    },
    {
      "type": "dt",
      "text": "Journey time"
    },
    {
      "type": "dd",
      "text": "Source-backed · 2026-10-09 · 29 min published example to Darmstadt Hbf · Source ↗"
    },
    {
      "type": "dt",
      "text": "Fare"
    },
    {
      "type": "dd",
      "text": "Source-backed · 2026-10-09 · Child 6–14: €7.90. €3.80 is the supplement only with a qualifying valid ticket, including Deutschlandticket. · Source ↗"
    },
    {
      "type": "p",
      "text": "Different destinations and fare conditions. Travel times exclude walking and waiting."
    },
    {
      "type": "h3",
      "text": "CT or conventional screening?"
    },
    {
      "type": "p",
      "text": "CT checkpoints differ from transfer and older checkpoints. Know which rule applies."
    },
    {
      "type": "p",
      "text": "Do not apply CT allowances to transfer checkpoints or another airport. Airline, destination and return-airport rules remain separate. No live queue is shown."
    },
    {
      "type": "p",
      "text": "Sources reviewed · 2026-10-09"
    },
    {
      "type": "h3",
      "text": "One ticket or separate flights?"
    },
    {
      "type": "p",
      "text": "Gate area, baggage and tickets decide the route. Additional security may be required."
    },
    {
      "type": "p",
      "text": "No safe connection or minimum time is calculated. Travel-document permission is not assessed."
    },
    {
      "type": "p",
      "text": "Sources reviewed · 2026-10-09"
    },
    {
      "type": "h3",
      "text": "Meeting someone?"
    },
    {
      "type": "p",
      "text": "Use terminal parking for waiting. T1 arrivals access is limited by works. Short forecourt allowances do not apply to Uber P31."
    },
    {
      "type": "p",
      "text": "Official parking guidance reviewed · 2026-10-09"
    },
    {
      "type": "h2",
      "text": "Terminal 1 from above · 2024"
    },
    {
      "type": "p",
      "text": "Photo: Arne Müseler / arne-mueseler.com · CC BY-SA 3.0 DE · resized and cropped."
    },
    {
      "type": "h2",
      "text": "Find your terminal"
    },
    {
      "type": "p",
      "text": "Frankfurt Airport, Frankfurt am Main, Germany · choose T1 or T3"
    },
    {
      "type": "h3",
      "text": "Terminal 1"
    },
    {
      "type": "h3",
      "text": "Terminal 3"
    },
    {
      "type": "h2",
      "text": "Explore the airport"
    },
    {
      "type": "h2",
      "text": "Official live information & bookings"
    },
    {
      "type": "p",
      "text": "Flight details, maps and current parking conditions open in a new tab."
    }
  ],
  "page_links": [
    {
      "label": "From the airport →",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Check your flight →",
      "url": "/en/fra/flights/",
      "external": false
    },
    {
      "label": "Prepare for security →",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Find your way →",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "Source ↗",
      "url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
      "external": true
    },
    {
      "label": "Compare transport →",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Read screening conditions →",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Check your connection →",
      "url": "/en/fra/connecting/",
      "external": false
    },
    {
      "label": "Plan your stop →",
      "url": "/en/fra/pickup/",
      "external": false
    },
    {
      "label": "Get to know the airport →",
      "url": "/en/fra/terminals/",
      "external": false
    },
    {
      "label": "Arne Müseler / arne-mueseler.com",
      "url": "https://commons.wikimedia.org/wiki/File:Germany_frankfurt_airport_terminal-1.JPG",
      "external": true
    },
    {
      "label": "CC BY-SA 3.0 DE",
      "url": "https://creativecommons.org/licenses/by-sa/3.0/de/deed.en",
      "external": true
    },
    {
      "label": "Terminal addresses & maps →",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "Open in Google Maps Google Maps ↗",
      "url": "https://www.google.com/maps/search/?api=1&query=Frankfurt%20Airport%20Terminal%201%20Germany",
      "external": true
    },
    {
      "label": "Open in Google Maps Google Maps ↗",
      "url": "https://www.google.com/maps/search/?api=1&query=Frankfurt%20Airport%20Terminal%203%20Germany",
      "external": true
    },
    {
      "label": "Flights →Flight status, arrivals and departures",
      "url": "/en/fra/flights/",
      "external": false
    },
    {
      "label": "Transport →To and from the airport, including app rides",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Parking →Pick a parking option for your visit",
      "url": "/en/fra/parking/",
      "external": false
    },
    {
      "label": "Terminals →Find your terminal or departure area",
      "url": "/en/fra/terminals/",
      "external": false
    },
    {
      "label": "Map →Official maps and useful destinations",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "At the airport →Food, shopping, Wi-Fi, lounges and assistance",
      "url": "/en/fra/at-the-airport/",
      "external": false
    },
    {
      "label": "Late arrival plan →Transport after dark and a place to stay",
      "url": "/en/fra/late-arrival/",
      "external": false
    },
    {
      "label": "Hotels & sleep →Airport hotels, rest cabins and access conditions",
      "url": "/en/fra/hotels/",
      "external": false
    },
    {
      "label": "Security →Prepare your hand baggage",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Connecting →Understand checks and baggage questions",
      "url": "/en/fra/connecting/",
      "external": false
    },
    {
      "label": "Pickup / Drop-off →Meet someone or drop a passenger off",
      "url": "/en/fra/pickup/",
      "external": false
    },
    {
      "label": "My flight is delayed →Flight updates, places to wait and next steps",
      "url": "/en/fra/delayed/",
      "external": false
    },
    {
      "label": "Live arrivals Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/flights-and-transfer/arrivals.html",
      "external": true
    },
    {
      "label": "Live departures Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/flights-and-transfer/departures.html",
      "external": true
    },
    {
      "label": "Official airport map Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/at-the-airport/orientation.html",
      "external": true
    },
    {
      "label": "Parking options Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html",
      "external": true
    }
  ],
  "content_provenance": {
    "kind": "generated_human_answer",
    "source": "/en/fra/",
    "sha256": "5f5b43a593fbb179fd6628937d3a645388d3eafb3b246c854252e6dbba54e491",
    "source_dates_revalidated_by_build": false
  },
  "related_contracts": {
    "security": "/data/en/fra/security.json",
    "connecting": "/data/en/fra/connecting.json",
    "transport_from": "/data/en/fra/transport/from.json",
    "transport_to": "/data/en/fra/transport/to.json",
    "parking": "/data/en/fra/parking.json",
    "services": "/data/en/fra/services.json"
  },
  "next_actions": [
    {
      "label": "From the airport →",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Check your flight →",
      "url": "/en/fra/flights/",
      "external": false
    },
    {
      "label": "Prepare for security →",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Find your way →",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "Source ↗",
      "url": "https://www.frankfurt-airport.com/en/transport-and-parking/to-from-the-airport/travel-by-train.html",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.rmv.de/c/en/tickets/your-ticket/tickets-overview/single-tickets/single-ticket",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
      "external": true
    },
    {
      "label": "Source ↗",
      "url": "https://www.heagmobilo.de/wp-content/uploads/2026/09/260914_Airliner_Faltblatt_DL-6S_Web.pdf",
      "external": true
    },
    {
      "label": "Compare transport →",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Read screening conditions →",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Check your connection →",
      "url": "/en/fra/connecting/",
      "external": false
    },
    {
      "label": "Plan your stop →",
      "url": "/en/fra/pickup/",
      "external": false
    },
    {
      "label": "Get to know the airport →",
      "url": "/en/fra/terminals/",
      "external": false
    },
    {
      "label": "Arne Müseler / arne-mueseler.com",
      "url": "https://commons.wikimedia.org/wiki/File:Germany_frankfurt_airport_terminal-1.JPG",
      "external": true
    },
    {
      "label": "CC BY-SA 3.0 DE",
      "url": "https://creativecommons.org/licenses/by-sa/3.0/de/deed.en",
      "external": true
    },
    {
      "label": "Terminal addresses & maps →",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "Open in Google Maps Google Maps ↗",
      "url": "https://www.google.com/maps/search/?api=1&query=Frankfurt%20Airport%20Terminal%201%20Germany",
      "external": true
    },
    {
      "label": "Open in Google Maps Google Maps ↗",
      "url": "https://www.google.com/maps/search/?api=1&query=Frankfurt%20Airport%20Terminal%203%20Germany",
      "external": true
    },
    {
      "label": "Flights →Flight status, arrivals and departures",
      "url": "/en/fra/flights/",
      "external": false
    },
    {
      "label": "Transport →To and from the airport, including app rides",
      "url": "/en/fra/transport/from/",
      "external": false
    },
    {
      "label": "Parking →Pick a parking option for your visit",
      "url": "/en/fra/parking/",
      "external": false
    },
    {
      "label": "Terminals →Find your terminal or departure area",
      "url": "/en/fra/terminals/",
      "external": false
    },
    {
      "label": "Map →Official maps and useful destinations",
      "url": "/en/fra/map/",
      "external": false
    },
    {
      "label": "At the airport →Food, shopping, Wi-Fi, lounges and assistance",
      "url": "/en/fra/at-the-airport/",
      "external": false
    },
    {
      "label": "Late arrival plan →Transport after dark and a place to stay",
      "url": "/en/fra/late-arrival/",
      "external": false
    },
    {
      "label": "Hotels & sleep →Airport hotels, rest cabins and access conditions",
      "url": "/en/fra/hotels/",
      "external": false
    },
    {
      "label": "Security →Prepare your hand baggage",
      "url": "/en/fra/security/",
      "external": false
    },
    {
      "label": "Connecting →Understand checks and baggage questions",
      "url": "/en/fra/connecting/",
      "external": false
    },
    {
      "label": "Pickup / Drop-off →Meet someone or drop a passenger off",
      "url": "/en/fra/pickup/",
      "external": false
    },
    {
      "label": "My flight is delayed →Flight updates, places to wait and next steps",
      "url": "/en/fra/delayed/",
      "external": false
    },
    {
      "label": "Live arrivals Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/flights-and-transfer/arrivals.html",
      "external": true
    },
    {
      "label": "Live departures Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/flights-and-transfer/departures.html",
      "external": true
    },
    {
      "label": "Official airport map Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/at-the-airport/orientation.html",
      "external": true
    },
    {
      "label": "Parking options Official · external ↗",
      "url": "https://www.frankfurt-airport.com/en/transport-and-parking/parking-offers/terminal-parking.html",
      "external": true
    }
  ]
}
