{
  "$schema": "https://json-structure.org/draft/v0/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/flight-offers-search-flight-filters-structure.json",
  "title": "FlightFilters",
  "description": "FlightFilters structure from Flight Offers Search",
  "type": "object",
  "properties": {
    "crossBorderAllowed": {
      "type": "boolean",
      "description": "Allows to search a location outside the borders when a radius around a location is specified. Default is false."
    },
    "moreOvernightsAllowed": {
      "type": "boolean",
      "description": "This flag enables/disables the possibility to have more overnight flights in Low Fare Search"
    },
    "returnToDepartureAirport": {
      "type": "boolean",
      "description": "This option force to retrieve flight-offer with a departure and a return in the same airport"
    },
    "railSegmentAllowed": {
      "type": "boolean",
      "description": "This flag enable/disable filtering of rail segment (TGV AIR, RAIL ...)"
    },
    "busSegmentAllowed": {
      "type": "boolean",
      "description": "This flag enable/disable filtering of bus segment"
    },
    "maxFlightTime": {
      "type": "number",
      "description": "Maximum flight time as a percentage relative to the shortest flight time available for the itinerary"
    },
    "carrierRestrictions": {
      "type": "object",
      "description": "Restriction towards carriers."
    },
    "cabinRestrictions": {
      "type": "array",
      "description": "Restriction towards cabins."
    },
    "connectionRestriction": {
      "type": "object",
      "description": "Restriction towards number of connections."
    }
  }
}