{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flightpowers-com/json-schema/flightpowers-com-roundtrip-itinerary-schema.json",
  "title": "RoundtripItinerary",
  "description": "One PAIRED round-trip itinerary: outbound and return legs priced together, the way Google actually sells them - not two stapled one-way searches.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/flightpowers-com-openapi.json#/components/schemas/RoundtripItinerary",
  "type": "object",
  "properties": {
    "price_range_in_relation_to_other_periods": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "low",
        "typical",
        "high",
        null
      ],
      "description": "Google's verdict on this fare vs the route's historical range. The field rival Google Flights APIs generally do not return."
    },
    "price_insights_low": {
      "type": [
        "number",
        "null"
      ],
      "description": "Bottom of Google's historical price range for this route and dates."
    },
    "price_insights_high": {
      "type": [
        "number",
        "null"
      ],
      "description": "Top of Google's historical price range for this route and dates."
    },
    "from_airport": {
      "type": "string"
    },
    "to_airport": {
      "type": "string"
    },
    "departure_date": {
      "type": "string",
      "format": "date"
    },
    "return_date": {
      "type": "string",
      "format": "date"
    },
    "total_price": {
      "type": "string",
      "description": "Display price for the whole trip."
    },
    "total_price_as_number": {
      "type": "number"
    },
    "total_duration_seconds": {
      "type": "integer"
    },
    "total_stops": {
      "type": "integer"
    },
    "buy_link": {
      "type": "string",
      "format": "uri"
    },
    "departure_flight_departure_description": {
      "type": "string"
    },
    "departure_flight_arrival_description": {
      "type": "string"
    },
    "departure_flight_airline": {
      "type": "string"
    },
    "departure_flight_stops": {
      "type": "integer"
    },
    "departure_flight_duration": {
      "type": "string"
    },
    "return_flight_departure_description": {
      "type": "string"
    },
    "return_flight_arrival_description": {
      "type": "string"
    },
    "return_flight_airline": {
      "type": "string"
    },
    "return_flight_stops": {
      "type": "integer"
    },
    "return_flight_duration": {
      "type": "string"
    }
  }
}