All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers Maven / Gradle / Ivy

The newest version!
//THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
package org.opentripplanner.apis.gtfs.generated;

import graphql.relay.Connection;
import graphql.relay.DefaultEdge;
import graphql.relay.Edge;
import graphql.schema.DataFetcher;
import graphql.schema.TypeResolver;
import java.util.Currency;
import java.util.Map;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.Geometry;
import org.opentripplanner.api.resource.DebugOutput;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLAbsoluteDirection;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLAlertCauseType;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLAlertEffectType;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLAlertSeverityLevelType;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLBikesAllowed;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLInputField;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLOccupancyStatus;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLPickupDropoffType;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLRealtimeState;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLRelativeDirection;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLRoutingErrorCode;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLTransitMode;
import org.opentripplanner.apis.gtfs.model.CallRealTime;
import org.opentripplanner.apis.gtfs.model.CallSchedule;
import org.opentripplanner.apis.gtfs.model.FeedPublisher;
import org.opentripplanner.apis.gtfs.model.PlanPageInfo;
import org.opentripplanner.apis.gtfs.model.RideHailingProvider;
import org.opentripplanner.apis.gtfs.model.StopPosition;
import org.opentripplanner.apis.gtfs.model.TripOccupancy;
import org.opentripplanner.ext.fares.model.FareRuleSet;
import org.opentripplanner.ext.ridehailing.model.RideEstimate;
import org.opentripplanner.model.StopTimesInPattern;
import org.opentripplanner.model.SystemNotice;
import org.opentripplanner.model.TripTimeOnDate;
import org.opentripplanner.model.calendar.openinghours.OHCalendar;
import org.opentripplanner.model.fare.FareMedium;
import org.opentripplanner.model.fare.FareProduct;
import org.opentripplanner.model.fare.FareProductUse;
import org.opentripplanner.model.fare.RiderCategory;
import org.opentripplanner.model.plan.Emissions;
import org.opentripplanner.model.plan.Itinerary;
import org.opentripplanner.model.plan.Leg;
import org.opentripplanner.model.plan.LegCallTime;
import org.opentripplanner.model.plan.LegRealTimeEstimate;
import org.opentripplanner.model.plan.StopArrival;
import org.opentripplanner.model.plan.WalkStep;
import org.opentripplanner.routing.alertpatch.TransitAlert;
import org.opentripplanner.routing.api.response.RoutingError;
import org.opentripplanner.routing.graphfinder.NearbyStop;
import org.opentripplanner.routing.graphfinder.PatternAtStop;
import org.opentripplanner.routing.graphfinder.PlaceAtDistance;
import org.opentripplanner.service.realtimevehicles.model.RealtimeVehicle;
import org.opentripplanner.service.realtimevehicles.model.RealtimeVehicle.StopRelationship;
import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.service.vehiclerental.model.RentalVehicleEntityCounts;
import org.opentripplanner.service.vehiclerental.model.RentalVehicleFuel;
import org.opentripplanner.service.vehiclerental.model.RentalVehicleType;
import org.opentripplanner.service.vehiclerental.model.RentalVehicleTypeCount;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalPlace;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStationUris;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalSystem;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalVehicle;
import org.opentripplanner.transit.model.basic.Money;
import org.opentripplanner.transit.model.network.Route;
import org.opentripplanner.transit.model.network.TripPattern;
import org.opentripplanner.transit.model.organization.Agency;
import org.opentripplanner.transit.model.timetable.EstimatedTime;
import org.opentripplanner.transit.model.timetable.Trip;
import org.opentripplanner.transit.model.timetable.TripOnServiceDate;
import org.opentripplanner.transit.model.timetable.booking.BookingInfo;
import org.opentripplanner.transit.model.timetable.booking.BookingTime;

public class GraphQLDataFetchers {

  /** A public transport agency */
  public interface GraphQLAgency {
    public DataFetcher> alerts();

    public DataFetcher fareUrl();

    public DataFetcher gtfsId();

    public DataFetcher id();

    public DataFetcher lang();

    public DataFetcher name();

    public DataFetcher phone();

    public DataFetcher> routes();

    public DataFetcher timezone();

    public DataFetcher url();
  }

  /** Alert of a current or upcoming disruption in public transportation */
  public interface GraphQLAlert {
    public DataFetcher agency();

    public DataFetcher alertCause();

    public DataFetcher alertDescriptionText();

    public DataFetcher>> alertDescriptionTextTranslations();

    public DataFetcher alertEffect();

    public DataFetcher alertHash();

    public DataFetcher alertHeaderText();

    public DataFetcher>> alertHeaderTextTranslations();

    public DataFetcher alertSeverityLevel();

    public DataFetcher alertUrl();

    public DataFetcher>> alertUrlTranslations();

    public DataFetcher effectiveEndDate();

    public DataFetcher effectiveStartDate();

    public DataFetcher> entities();

    public DataFetcher feed();

    public DataFetcher id();

    public DataFetcher> patterns();

    public DataFetcher route();

    public DataFetcher stop();

    public DataFetcher trip();
  }

  /** Entity related to an alert */
  public interface GraphQLAlertEntity extends TypeResolver {}

  /** Arrival and departure time (not relative to midnight). */
  public interface GraphQLArrivalDepartureTime {
    public DataFetcher arrival();

    public DataFetcher departure();
  }

  /** Bike park represents a location where bicycles can be parked. */
  public interface GraphQLBikePark {
    public DataFetcher bikeParkId();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher openingHours();

    public DataFetcher realtime();

    public DataFetcher spacesAvailable();

    public DataFetcher> tags();
  }

  /** Bike rental station represents a location where users can rent bicycles for a fee. */
  public interface GraphQLBikeRentalStation {
    public DataFetcher allowDropoff();

    public DataFetcher allowDropoffNow();

    public DataFetcher allowOverloading();

    public DataFetcher allowPickup();

    public DataFetcher allowPickupNow();

    public DataFetcher bikesAvailable();

    public DataFetcher capacity();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher> networks();

    public DataFetcher operative();

    public DataFetcher realtime();

    public DataFetcher rentalUris();

    public DataFetcher spacesAvailable();

    public DataFetcher state();

    public DataFetcher stationId();
  }

  public interface GraphQLBikeRentalStationUris {
    public DataFetcher android();

    public DataFetcher ios();

    public DataFetcher web();
  }

  /**
   * Booking information for a stop time which has special requirements to use, like calling ahead or
   * using an app.
   */
  public interface GraphQLBookingInfo {
    public DataFetcher contactInfo();

    public DataFetcher dropOffMessage();

    public DataFetcher earliestBookingTime();

    public DataFetcher latestBookingTime();

    public DataFetcher maximumBookingNotice();

    public DataFetcher maximumBookingNoticeSeconds();

    public DataFetcher message();

    public DataFetcher minimumBookingNotice();

    public DataFetcher minimumBookingNoticeSeconds();

    public DataFetcher pickupMessage();
  }

  /** Temporal restriction for a booking */
  public interface GraphQLBookingTime {
    public DataFetcher daysPrior();

    public DataFetcher time();
  }

  /** Real-time estimates for arrival and departure times for a stop location. */
  public interface GraphQLCallRealTime {
    public DataFetcher arrival();

    public DataFetcher departure();
  }

  /** What is scheduled for a trip on a service date for a stop location. */
  public interface GraphQLCallSchedule {
    public DataFetcher time();
  }

  /** Scheduled times for a trip on a service date for a stop location. */
  public interface GraphQLCallScheduledTime extends TypeResolver {}

  /** Location where a transit vehicle stops at. */
  public interface GraphQLCallStopLocation extends TypeResolver {}

  /** Car park represents a location where cars can be parked. */
  public interface GraphQLCarPark {
    public DataFetcher carParkId();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher maxCapacity();

    public DataFetcher name();

    public DataFetcher openingHours();

    public DataFetcher realtime();

    public DataFetcher spacesAvailable();

    public DataFetcher> tags();
  }

  /** Cluster is a list of stops grouped by name and proximity */
  public interface GraphQLCluster {
    public DataFetcher gtfsId();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher> stops();
  }

  /** Contact information for booking an on-demand or flexible service. */
  public interface GraphQLContactInfo {
    public DataFetcher additionalDetails();

    public DataFetcher bookingUrl();

    public DataFetcher contactPerson();

    public DataFetcher eMail();

    public DataFetcher faxNumber();

    public DataFetcher infoUrl();

    public DataFetcher phoneNumber();
  }

  /**
   * Coordinate (often referred as coordinates), which is used to specify a location using in the
   * WGS84 coordinate system.
   */
  public interface GraphQLCoordinate {
    public DataFetcher latitude();

    public DataFetcher longitude();
  }

  public interface GraphQLCoordinates {
    public DataFetcher lat();

    public DataFetcher lon();
  }

  /** A currency */
  public interface GraphQLCurrency {
    public DataFetcher code();

    public DataFetcher digits();
  }

  /**
   * The standard case of a fare product: it only has a single price to be paid by the passenger
   * and no discounts are applied.
   */
  public interface GraphQLDefaultFareProduct {
    public DataFetcher id();

    public DataFetcher medium();

    public DataFetcher name();

    public DataFetcher price();

    public DataFetcher riderCategory();
  }

  /**
   * Departure row is a combination of a pattern and a stop of that pattern.
   *
   * They are de-duplicated so for each pattern there will only be a single departure row.
   *
   * This is useful if you want to show a list of stop/pattern combinations but want each pattern to be
   * listed only once.
   */
  public interface GraphQLDepartureRow {
    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher pattern();

    public DataFetcher stop();

    public DataFetcher> stoptimes();
  }

  public interface GraphQLEmissions {
    public DataFetcher co2();
  }

  /** Station entrance or exit, originating from OSM or GTFS data. */
  public interface GraphQLEntrance {
    public DataFetcher entranceId();

    public DataFetcher name();

    public DataFetcher publicCode();

    public DataFetcher<
      org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLWheelchairBoarding
    > wheelchairAccessible();
  }

  /** Real-time estimates for an arrival or departure at a certain place. */
  public interface GraphQLEstimatedTime {
    public DataFetcher delay();

    public DataFetcher time();
  }

  /** A 'medium' that a fare product applies to, for example cash, 'Oyster Card' or 'DB Navigator App'. */
  public interface GraphQLFareMedium {
    public DataFetcher id();

    public DataFetcher name();
  }

  /** A fare product (a ticket) to be bought by a passenger */
  public interface GraphQLFareProduct extends TypeResolver {
    public default DataFetcher id() {
      return null;
    }

    public default DataFetcher medium() {
      return null;
    }

    public default DataFetcher name() {
      return null;
    }

    public default DataFetcher riderCategory() {
      return null;
    }
  }

  /** A container for both a fare product (a ticket) and its relationship to the itinerary. */
  public interface GraphQLFareProductUse {
    public DataFetcher id();

    public DataFetcher product();
  }

  /** A feed provides routing data (stops, routes, timetables, etc.) from one or more public transport agencies. */
  public interface GraphQLFeed {
    public DataFetcher> agencies();

    public DataFetcher> alerts();

    public DataFetcher feedId();

    public DataFetcher publisher();
  }

  /** Feed publisher information */
  public interface GraphQLFeedPublisher {
    public DataFetcher name();

    public DataFetcher url();
  }

  public interface GraphQLGeometry {
    public DataFetcher length();

    public DataFetcher points();
  }

  public interface GraphQLItinerary {
    public DataFetcher accessibilityScore();

    public DataFetcher arrivedAtDestinationWithRentedBicycle();

    public DataFetcher duration();

    public DataFetcher elevationGained();

    public DataFetcher elevationLost();

    public DataFetcher emissionsPerPerson();

    public DataFetcher end();

    public DataFetcher endTime();

    public DataFetcher> fares();

    public DataFetcher generalizedCost();

    public DataFetcher> legs();

    public DataFetcher numberOfTransfers();

    public DataFetcher start();

    public DataFetcher startTime();

    public DataFetcher> systemNotices();

    public DataFetcher waitingTime();

    public DataFetcher walkDistance();

    public DataFetcher walkTime();
  }

  public interface GraphQLLeg {
    public DataFetcher accessibilityScore();

    public DataFetcher agency();

    public DataFetcher> alerts();

    public DataFetcher arrivalDelay();

    public DataFetcher departureDelay();

    public DataFetcher distance();

    public DataFetcher dropOffBookingInfo();

    public DataFetcher dropoffType();

    public DataFetcher duration();

    public DataFetcher end();

    public DataFetcher endTime();

    public DataFetcher> fareProducts();

    public DataFetcher from();

    public DataFetcher generalizedCost();

    public DataFetcher headsign();

    public DataFetcher id();

    public DataFetcher interlineWithPreviousLeg();

    public DataFetcher intermediatePlace();

    public DataFetcher> intermediatePlaces();

    public DataFetcher> intermediateStops();

    public DataFetcher legGeometry();

    public DataFetcher mode();

    public DataFetcher> nextLegs();

    public DataFetcher pickupBookingInfo();

    public DataFetcher pickupType();

    public DataFetcher> previousLegs();

    public DataFetcher realTime();

    public DataFetcher realtimeState();

    public DataFetcher rentedBike();

    public DataFetcher rideHailingEstimate();

    public DataFetcher route();

    public DataFetcher serviceDate();

    public DataFetcher start();

    public DataFetcher startTime();

    public DataFetcher> steps();

    public DataFetcher to();

    public DataFetcher transitLeg();

    public DataFetcher trip();

    public DataFetcher walkingBike();
  }

  /**
   * Time information about a passenger at a certain place. May contain real-time information if
   * available.
   */
  public interface GraphQLLegTime {
    public DataFetcher estimated();

    public DataFetcher scheduledTime();
  }

  /** A span of time. */
  public interface GraphQLLocalTimeSpan {
    public DataFetcher from();

    public DataFetcher to();
  }

  /** A date using the local timezone of the object that can contain timespans. */
  public interface GraphQLLocalTimeSpanDate {
    public DataFetcher date();

    public DataFetcher> timeSpans();
  }

  /** An amount of money. */
  public interface GraphQLMoney {
    public DataFetcher amount();

    public DataFetcher currency();
  }

  /** An object with an ID */
  public interface GraphQLNode extends TypeResolver {
    public default DataFetcher id() {
      return null;
    }
  }

  public interface GraphQLOpeningHours {
    public DataFetcher> dates();

    public DataFetcher osm();
  }

  /** Information about pagination in a connection. */
  public interface GraphQLPageInfo {
    public DataFetcher endCursor();

    public DataFetcher hasNextPage();

    public DataFetcher hasPreviousPage();

    public DataFetcher startCursor();
  }

  /**
   * Pattern is sequence of stops used by trips on a specific direction and variant
   * of a route. Most routes have only two patterns: one for outbound trips and one
   * for inbound trips
   */
  public interface GraphQLPattern {
    public DataFetcher> alerts();

    public DataFetcher code();

    public DataFetcher directionId();

    public DataFetcher> geometry();

    public DataFetcher headsign();

    public DataFetcher id();

    public DataFetcher name();

    public DataFetcher originalTripPattern();

    public DataFetcher patternGeometry();

    public DataFetcher route();

    public DataFetcher semanticHash();

    public DataFetcher> stops();

    public DataFetcher> trips();

    public DataFetcher> tripsForDate();

    public DataFetcher> vehiclePositions();
  }

  public interface GraphQLPlace {
    public DataFetcher arrival();

    public DataFetcher arrivalTime();

    public DataFetcher bikePark();

    public DataFetcher bikeRentalStation();

    public DataFetcher carPark();

    public DataFetcher departure();

    public DataFetcher departureTime();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher rentalVehicle();

    public DataFetcher stop();

    public DataFetcher stopPosition();

    public DataFetcher vehicleParking();

    public DataFetcher vehicleRentalStation();

    public DataFetcher vertexType();
  }

  /** Interface for places, e.g. stops, stations, parking areas.. */
  public interface GraphQLPlaceInterface extends TypeResolver {
    public default DataFetcher id() {
      return null;
    }

    public default DataFetcher lat() {
      return null;
    }

    public default DataFetcher lon() {
      return null;
    }
  }

  public interface GraphQLPlan {
    public DataFetcher date();

    public DataFetcher debugOutput();

    public DataFetcher from();

    public DataFetcher> itineraries();

    public DataFetcher> messageEnums();

    public DataFetcher> messageStrings();

    public DataFetcher nextDateTime();

    public DataFetcher nextPageCursor();

    public DataFetcher prevDateTime();

    public DataFetcher previousPageCursor();

    public DataFetcher> routingErrors();

    public DataFetcher searchWindowUsed();

    public DataFetcher to();
  }

  /**
   * Plan (result of an itinerary search) that follows
   * [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm).
   */
  public interface GraphQLPlanConnection {
    public DataFetcher>> edges();

    public DataFetcher pageInfo();

    public DataFetcher> routingErrors();

    public DataFetcher searchDateTime();
  }

  /**
   * Edge outputted by a plan search. Part of the
   * [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm).
   */
  public interface GraphQLPlanEdge {
    public DataFetcher cursor();

    public DataFetcher node();
  }

  /**
   * Information about pagination in a connection. Part of the
   * [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm).
   */
  public interface GraphQLPlanPageInfo {
    public DataFetcher endCursor();

    public DataFetcher hasNextPage();

    public DataFetcher hasPreviousPage();

    public DataFetcher searchWindowUsed();

    public DataFetcher startCursor();
  }

  /** Stop position at a specific stop. */
  public interface GraphQLPositionAtStop {
    public DataFetcher position();
  }

  /** The board/alight position in between two stops of the pattern of a trip with continuous pickup/drop off. */
  public interface GraphQLPositionBetweenStops {
    public DataFetcher nextPosition();

    public DataFetcher previousPosition();
  }

  public interface GraphQLQueryType {
    public DataFetcher> agencies();

    public DataFetcher agency();

    public DataFetcher> alerts();

    public DataFetcher bikePark();

    public DataFetcher> bikeParks();

    public DataFetcher bikeRentalStation();

    public DataFetcher> bikeRentalStations();

    public DataFetcher> canceledTrips();

    public DataFetcher> cancelledTripTimes();

    public DataFetcher carPark();

    public DataFetcher> carParks();

    public DataFetcher cluster();

    public DataFetcher> clusters();

    public DataFetcher departureRow();

    public DataFetcher> feeds();

    public DataFetcher fuzzyTrip();

    public DataFetcher leg();

    public DataFetcher> nearest();

    public DataFetcher node();

    public DataFetcher pattern();

    public DataFetcher> patterns();

    public DataFetcher<
      graphql.execution.DataFetcherResult
    > plan();

    public DataFetcher<
      graphql.execution.DataFetcherResult
    > planConnection();

    public DataFetcher rentalVehicle();

    public DataFetcher> rentalVehicles();

    public DataFetcher route();

    public DataFetcher> routes();

    public DataFetcher serviceTimeRange();

    public DataFetcher station();

    public DataFetcher> stations();

    public DataFetcher stop();

    public DataFetcher> stops();

    public DataFetcher> stopsByBbox();

    public DataFetcher> stopsByRadius();

    public DataFetcher> ticketTypes();

    public DataFetcher trip();

    public DataFetcher> trips();

    public DataFetcher vehicleParking();

    public DataFetcher> vehicleParkings();

    public DataFetcher vehicleRentalStation();

    public DataFetcher> vehicleRentalStations();

    public DataFetcher> vehicleRentalsByBbox();

    public DataFetcher viewer();
  }

  /** Real-time estimates for a vehicle at a certain place. */
  public interface GraphQLRealTimeEstimate {
    public DataFetcher delay();

    public DataFetcher time();
  }

  /** Rental place union that represents either a VehicleRentalStation or a RentalVehicle */
  public interface GraphQLRentalPlace extends TypeResolver {}

  /** Rental vehicle represents a vehicle that belongs to a rental network. */
  public interface GraphQLRentalVehicle {
    public DataFetcher allowPickupNow();

    public DataFetcher fuel();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher network();

    public DataFetcher operative();

    public DataFetcher rentalNetwork();

    public DataFetcher rentalUris();

    public DataFetcher vehicleId();

    public DataFetcher vehicleType();
  }

  public interface GraphQLRentalVehicleEntityCounts {
    public DataFetcher> byType();

    public DataFetcher total();
  }

  /** Rental vehicle fuel represent the current status of the battery or fuel of a rental vehicle */
  public interface GraphQLRentalVehicleFuel {
    public DataFetcher percent();

    public DataFetcher range();
  }

  public interface GraphQLRentalVehicleType {
    public DataFetcher<
      org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLFormFactor
    > formFactor();

    public DataFetcher<
      org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLPropulsionType
    > propulsionType();
  }

  public interface GraphQLRentalVehicleTypeCount {
    public DataFetcher count();

    public DataFetcher vehicleType();
  }

  /** An estimate for a ride on a hailed vehicle, like an Uber car. */
  public interface GraphQLRideHailingEstimate {
    public DataFetcher arrival();

    public DataFetcher maxPrice();

    public DataFetcher minPrice();

    public DataFetcher productName();

    public DataFetcher provider();
  }

  public interface GraphQLRideHailingProvider {
    public DataFetcher id();
  }

  /** Category of riders a fare product applies to, for example students or pensioners. */
  public interface GraphQLRiderCategory {
    public DataFetcher id();

    public DataFetcher name();
  }

  /**
   * Route represents a public transportation service, usually from point A to point
   * B and *back*, shown to customers under a single name, e.g. bus 550. Routes
   * contain patterns (see field `patterns`), which describe different variants of
   * the route, e.g. outbound pattern from point A to point B and inbound pattern
   * from point B to point A.
   */
  public interface GraphQLRoute {
    public DataFetcher agency();

    public DataFetcher> alerts();

    public DataFetcher bikesAllowed();

    public DataFetcher color();

    public DataFetcher desc();

    public DataFetcher gtfsId();

    public DataFetcher id();

    public DataFetcher longName();

    public DataFetcher mode();

    public DataFetcher> patterns();

    public DataFetcher shortName();

    public DataFetcher sortOrder();

    public DataFetcher> stops();

    public DataFetcher textColor();

    public DataFetcher> trips();

    public DataFetcher type();

    public DataFetcher url();
  }

  /**
   * Route type entity which covers all agencies if agency is null,
   * otherwise only relevant for one agency.
   */
  public interface GraphQLRouteType {
    public DataFetcher agency();

    public DataFetcher routeType();

    public DataFetcher> routes();
  }

  /** Description of the reason, why the planner did not return any results */
  public interface GraphQLRoutingError {
    public DataFetcher code();

    public DataFetcher description();

    public DataFetcher inputField();
  }

  /** A feature for a step */
  public interface GraphQLStepFeature extends TypeResolver {}

  /**
   * Stop can represent either a single public transport stop, where passengers can
   * board and/or disembark vehicles, or a station, which contains multiple stops.
   * See field `locationType`.
   */
  public interface GraphQLStop {
    public DataFetcher> alerts();

    public DataFetcher cluster();

    public DataFetcher code();

    public DataFetcher desc();

    public DataFetcher direction();

    public DataFetcher geometries();

    public DataFetcher gtfsId();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher locationType();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher parentStation();

    public DataFetcher> patterns();

    public DataFetcher platformCode();

    public DataFetcher> routes();

    public DataFetcher> stopTimesForPattern();

    public DataFetcher> stops();

    public DataFetcher> stoptimesForPatterns();

    public DataFetcher> stoptimesForServiceDate();

    public DataFetcher> stoptimesWithoutPatterns();

    public DataFetcher timezone();

    public DataFetcher> transfers();

    public DataFetcher url();

    public DataFetcher vehicleMode();

    public DataFetcher vehicleType();

    public DataFetcher<
      org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLWheelchairBoarding
    > wheelchairBoarding();

    public DataFetcher zoneId();
  }

  /** Stop call represents the time when a specific trip on a specific date arrives to and/or departs from a specific stop location. */
  public interface GraphQLStopCall {
    public DataFetcher realTime();

    public DataFetcher schedule();

    public DataFetcher stopLocation();
  }

  public interface GraphQLStopGeometries {
    public DataFetcher geoJson();

    public DataFetcher> googleEncoded();
  }

  /** Stop that should (but not guaranteed) to exist on a route. */
  public interface GraphQLStopOnRoute {
    public DataFetcher route();

    public DataFetcher stop();
  }

  /** Stop that should (but not guaranteed) to exist on a trip. */
  public interface GraphQLStopOnTrip {
    public DataFetcher stop();

    public DataFetcher trip();
  }

  public interface GraphQLStopPosition extends TypeResolver {}

  /** Upcoming or current stop and how close the vehicle is to it. */
  public interface GraphQLStopRelationship {
    public DataFetcher status();

    public DataFetcher stop();
  }

  /** Stoptime represents the time when a specific trip arrives to or departs from a specific stop. */
  public interface GraphQLStoptime {
    public DataFetcher arrivalDelay();

    public DataFetcher departureDelay();

    public DataFetcher dropoffType();

    public DataFetcher headsign();

    public DataFetcher pickupType();

    public DataFetcher realtime();

    public DataFetcher realtimeArrival();

    public DataFetcher realtimeDeparture();

    public DataFetcher realtimeState();

    public DataFetcher scheduledArrival();

    public DataFetcher scheduledDeparture();

    public DataFetcher serviceDay();

    public DataFetcher stop();

    public DataFetcher stopPosition();

    public DataFetcher stopPositionInPattern();

    public DataFetcher timepoint();

    public DataFetcher trip();
  }

  /** Stoptimes grouped by pattern */
  public interface GraphQLStoptimesInPattern {
    public DataFetcher pattern();

    public DataFetcher> stoptimes();
  }

  /**
   * A system notice is used to tag elements with system information for debugging
   * or other system related purpose. One use-case is to run a routing search with
   * 'debugItineraryFilter: true'. This will then tag itineraries instead of removing
   * them from the result. This make it possible to inspect the itinerary-filter-chain.
   * A SystemNotice only has english text,
   * because the primary user are technical staff, like testers and developers.
   */
  public interface GraphQLSystemNotice {
    public DataFetcher tag();

    public DataFetcher text();
  }

  /** Describes ticket type */
  public interface GraphQLTicketType {
    public DataFetcher currency();

    public DataFetcher fareId();

    public DataFetcher id();

    public DataFetcher price();

    public DataFetcher> zones();
  }

  /** Text with language */
  public interface GraphQLTranslatedString {
    public DataFetcher language();

    public DataFetcher text();
  }

  /** Trip is a specific occurance of a pattern, usually identified by route, direction on the route and exact departure time. */
  public interface GraphQLTrip {
    public DataFetcher> activeDates();

    public DataFetcher> alerts();

    public DataFetcher arrivalStoptime();

    public DataFetcher bikesAllowed();

    public DataFetcher blockId();

    public DataFetcher departureStoptime();

    public DataFetcher directionId();

    public DataFetcher>> geometry();

    public DataFetcher gtfsId();

    public DataFetcher id();

    public DataFetcher occupancy();

    public DataFetcher pattern();

    public DataFetcher route();

    public DataFetcher routeShortName();

    public DataFetcher semanticHash();

    public DataFetcher serviceId();

    public DataFetcher shapeId();

    public DataFetcher> stops();

    public DataFetcher> stoptimes();

    public DataFetcher> stoptimesForDate();

    public DataFetcher tripGeometry();

    public DataFetcher tripHeadsign();

    public DataFetcher tripShortName();

    public DataFetcher<
      org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLWheelchairBoarding
    > wheelchairAccessible();
  }

  /**
   * Occupancy of a vehicle on a trip. This should include the most recent occupancy information
   * available for a trip. Historic data might not be available.
   */
  public interface GraphQLTripOccupancy {
    public DataFetcher occupancyStatus();
  }

  /** A trip on a specific service date. */
  public interface GraphQLTripOnServiceDate {
    public DataFetcher end();

    public DataFetcher serviceDate();

    public DataFetcher start();

    public DataFetcher> stopCalls();

    public DataFetcher trip();
  }

  /**
   * A connection to a list of trips on service dates that follows
   * [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm).
   */
  public interface GraphQLTripOnServiceDateConnection {
    public DataFetcher>> edges();

    public DataFetcher pageInfo();
  }

  /**
   * An edge for TripOnServiceDate connection. Part of the
   * [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm).
   */
  public interface GraphQLTripOnServiceDateEdge {
    public DataFetcher cursor();

    public DataFetcher node();
  }

  /** This is used for alert entities that we don't explicitly handle or they are missing. */
  public interface GraphQLUnknown {
    public DataFetcher description();
  }

  /** Vehicle parking represents a location where bicycles or cars can be parked. */
  public interface GraphQLVehicleParking {
    public DataFetcher anyCarPlaces();

    public DataFetcher availability();

    public DataFetcher bicyclePlaces();

    public DataFetcher capacity();

    public DataFetcher carPlaces();

    public DataFetcher detailsUrl();

    public DataFetcher id();

    public DataFetcher imageUrl();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher note();

    public DataFetcher openingHours();

    public DataFetcher realtime();

    public DataFetcher state();

    public DataFetcher> tags();

    public DataFetcher vehicleParkingId();

    public DataFetcher wheelchairAccessibleCarPlaces();
  }

  /** The number of spaces by type. null if unknown. */
  public interface GraphQLVehicleParkingSpaces {
    public DataFetcher bicycleSpaces();

    public DataFetcher carSpaces();

    public DataFetcher wheelchairAccessibleCarSpaces();
  }

  /** Real-time vehicle position */
  public interface GraphQLVehiclePosition {
    public DataFetcher heading();

    public DataFetcher label();

    public DataFetcher lastUpdated();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher speed();

    public DataFetcher stopRelationship();

    public DataFetcher trip();

    public DataFetcher vehicleId();
  }

  /**
   * Vehicle rental network, which is referred as system in the GBFS terminology. Note, the same operator can operate in multiple
   * regions either with the same network/system or with a different one. This can contain information about either the rental brand
   * or about the operator.
   */
  public interface GraphQLVehicleRentalNetwork {
    public DataFetcher networkId();

    public DataFetcher url();
  }

  /** Vehicle rental station represents a location where users can rent bicycles etc. for a fee. */
  public interface GraphQLVehicleRentalStation {
    public DataFetcher allowDropoff();

    public DataFetcher allowDropoffNow();

    public DataFetcher allowOverloading();

    public DataFetcher allowPickup();

    public DataFetcher allowPickupNow();

    public DataFetcher availableSpaces();

    public DataFetcher availableVehicles();

    public DataFetcher capacity();

    public DataFetcher id();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher name();

    public DataFetcher network();

    public DataFetcher operative();

    public DataFetcher realtime();

    public DataFetcher rentalNetwork();

    public DataFetcher rentalUris();

    public DataFetcher spacesAvailable();

    public DataFetcher stationId();

    public DataFetcher vehiclesAvailable();
  }

  public interface GraphQLVehicleRentalUris {
    public DataFetcher android();

    public DataFetcher ios();

    public DataFetcher web();
  }

  public interface GraphQLDebugOutput {
    public DataFetcher pathCalculationTime();

    public DataFetcher precalculationTime();

    public DataFetcher renderingTime();

    public DataFetcher timedOut();

    public DataFetcher totalTime();
  }

  public interface GraphQLElevationProfileComponent {
    public DataFetcher distance();

    public DataFetcher elevation();
  }

  /**
   * This type is only here for backwards-compatibility and this API will never return it anymore.
   * Please use the leg's `fareProducts` instead.
   */
  public interface GraphQLFare {
    public DataFetcher cents();

    public DataFetcher> components();

    public DataFetcher currency();

    public DataFetcher type();
  }

  /**
   * This type is only here for backwards-compatibility and this API will never return it anymore.
   * Please use the leg's `fareProducts` instead.
   */
  public interface GraphQLFareComponent {
    public DataFetcher cents();

    public DataFetcher currency();

    public DataFetcher fareId();

    public DataFetcher> routes();
  }

  public interface GraphQLPlaceAtDistance {
    public DataFetcher distance();

    public DataFetcher id();

    public DataFetcher place();
  }

  /** A connection to a list of items. */
  public interface GraphQLPlaceAtDistanceConnection {
    public DataFetcher>> edges();

    public DataFetcher pageInfo();
  }

  /** An edge in a connection. */
  public interface GraphQLPlaceAtDistanceEdge {
    public DataFetcher cursor();

    public DataFetcher node();
  }

  /** Time range for which the API has data available */
  public interface GraphQLServiceTimeRange {
    public DataFetcher end();

    public DataFetcher start();
  }

  public interface GraphQLStep {
    public DataFetcher absoluteDirection();

    public DataFetcher> alerts();

    public DataFetcher area();

    public DataFetcher bogusName();

    public DataFetcher distance();

    public DataFetcher<
      Iterable
    > elevationProfile();

    public DataFetcher exit();

    public DataFetcher feature();

    public DataFetcher lat();

    public DataFetcher lon();

    public DataFetcher relativeDirection();

    public DataFetcher stayOn();

    public DataFetcher streetName();

    public DataFetcher walkingBike();
  }

  public interface GraphQLStopAtDistance {
    public DataFetcher distance();

    public DataFetcher id();

    public DataFetcher stop();
  }

  /** A connection to a list of items. */
  public interface GraphQLStopAtDistanceConnection {
    public DataFetcher>> edges();

    public DataFetcher pageInfo();
  }

  /** An edge in a connection. */
  public interface GraphQLStopAtDistanceEdge {
    public DataFetcher cursor();

    public DataFetcher node();
  }
}