diff --git a/application/src/main/java/org/opentripplanner/apis/transmodel/model/siri/et/EstimatedCallType.java b/application/src/main/java/org/opentripplanner/apis/transmodel/model/siri/et/EstimatedCallType.java index 3c3d9c9679c..ee10b94fb4b 100644 --- a/application/src/main/java/org/opentripplanner/apis/transmodel/model/siri/et/EstimatedCallType.java +++ b/application/src/main/java/org/opentripplanner/apis/transmodel/model/siri/et/EstimatedCallType.java @@ -15,6 +15,7 @@ import java.time.LocalDate; import java.util.Collection; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.opentripplanner.apis.transmodel.mapping.OccupancyStatusMapper; import org.opentripplanner.apis.transmodel.model.EnumTypes; @@ -259,6 +260,21 @@ public static GraphQLObjectType create( .dataFetcher(environment -> ((TripTimeOnDate) environment.getSource()).getServiceDay()) .build() ) + .field( + GraphQLFieldDefinition.newFieldDefinition() + .name("serviceJourneyEstimatedCalls") + .type(new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(REF)))) + .description("All estimated calls for the ServiceJourney on this date.") + .dataFetcher(environment -> { + return GqlUtil.getTransitService(environment) + .findTripTimesOnDate( + environment.getSource().getTrip(), + environment.getSource().getServiceDay() + ) + .orElse(List.of()); + }) + .build() + ) .field( GraphQLFieldDefinition.newFieldDefinition() .name("serviceJourney") diff --git a/application/src/main/resources/org/opentripplanner/apis/transmodel/schema.graphql b/application/src/main/resources/org/opentripplanner/apis/transmodel/schema.graphql index 5917f68d2a6..5e2a90b06d8 100644 --- a/application/src/main/resources/org/opentripplanner/apis/transmodel/schema.graphql +++ b/application/src/main/resources/org/opentripplanner/apis/transmodel/schema.graphql @@ -253,6 +253,8 @@ type EstimatedCall { "Whether vehicle will only stop on request." requestStop: Boolean! serviceJourney: ServiceJourney! + "All estimated calls for the ServiceJourney on this date." + serviceJourneyEstimatedCalls: [EstimatedCall!]! "Get all relevant situations for this EstimatedCall." situations: [PtSituationElement!]! @timingData stopPositionInPattern: Int!