fragment RouteStopFragment on RouteStop {
  time {
    utc
    local
  }
}

fragment Sector on Sector {
  duration
  stopoverDuration
  segments {
    departure {
      ...RouteStopFragment
    }
    arrival {
      ...RouteStopFragment
    }
  }
  departure {
    ...RouteStopFragment
  }
  arrival {
    ...RouteStopFragment
  }
}

{
  checkItinerary(input: { bookingToken: "token", bags: 1, passengers: { adults: 1 }}) {
    id
    __typename
    isValid
    isChecked
    price {
      currency
      amount
    }
    holdBagOptions {
      quantity,
      dimensions,
      weight,
      price {
        currency
        amount
      },
    }
    departure {
      ...RouteStopFragment
    }
    arrival {
      ...RouteStopFragment
    }
    ... on ItineraryReturn {
      inbound {
        ...Sector
      }
      outbound {
        ...Sector
      }
    }
  }
}
