Types
Below are all the available GraphQL types and fields. Please refer to the getting started guide for detailed information and examples on how to use the API.
Try it out
Explore the GraphQL Schema and start making requests with the interactive API console. Visit the console
Query
getLocations
Get location matching given query string
getAllLocations
Get all available locations
- Returns:
[Location!]!
getJourneys
Get journeys between origin and destination on given date
- Returns:
[Journey!]!
- Arguments:
- origin:
ID!
- destination:
ID!
- date:
Date!
- filter:
JourneyFilterInput
- via:
[ViaInput!]
- origin:
getJourneyOffer
Get fares for given journey, prefer socket
- Returns:
JourneyOffer!
- Arguments:
- journey:
ID!
- passengers:
[PassengerPlaceholderInput!]!
- currency:
String
(default: "EUR")
- journey:
getJourneyForBlueprint
Get journey for given blueprint
getPassBundles
Get applicable pass bundles for given passengers
- Returns:
[PassBundle!]!
- Arguments:
- passengers:
[PassPassengerInput!]!
- filter:
PassBundleFilterInput
- currency:
String
(default: "EUR")
- passengers:
getPassBundlesForJourneyOffer
Get applicable pass bundles for given journey offer
- Returns:
[PassBundle!]!
- Arguments:
- journeyOffer:
ID!
- passengers:
[PassPassengerInput!]
- filter:
PassBundleFilterInput
- currency:
String
(default: "EUR")
- journeyOffer:
getJourneyRatings
Get comparative rating for journeys
getTicketingFee
Get fee for issuing tickets
node
Get anything with an ID
Mutation
createBooking
Create a booking
updateBooking
Update an existing booking
- Returns:
Booking!
- Arguments:
- id:
ID!
- passengers:
[FullPassengerInput!]
- selections:
[BookingSelectionInput!]
- id:
createPayment
Create a payment which, once fulfilled, will create and finalize the order
- Returns:
Payment!
- Arguments:
- booking:
ID!
- cancelUrl:
String!
- successUrl:
String!
URI Template (RFC 6570) compliant string with {order} placeholder
- metadata:
String
- booking:
createOrder
Confirm booking selections and prebook fares
finalizeOrder
Finalize order and fetch tickets
Subscription
getJourneys
Get journeys between origin and destination on given date
- Returns:
[Journey!]!
- Arguments:
- origin:
ID!
- destination:
ID!
- date:
Date!
- filter:
JourneyFilterInput
- via:
[ViaInput!]
- origin:
getJourneyOffer
Get fares for given journey
- Returns:
JourneyOffer!
- Arguments:
- journey:
ID!
- passengers:
[PassengerPlaceholderInput!]!
- currency:
String
(default: "EUR")
- journey:
getJourneyForBlueprint
Get journey for given blueprint
Objects
AnonymousLocation
A station where stops may be made but journeys cannot be planned from/to
Fields
- name:
String!
BlueprintJourney
The journey is planned according to a Itinerary Blueprint
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
BookingFare
Fields
- id:
ID!
- name:
String!
- price:
Money!
- description:
String
- refundPolicies:
[String!]
- placePreferences:
[PlacePreference!]
- compartmentTypes:
[CompartmentType!]
Booking
Non-finalized offer for collection order details
Fields
- id:
ID!
- expiresAt:
DateTime
- ticketingFee:
Money
- passengers:
[Passenger!]
- selections:
[BookingSelection!]
- requirements:
PassengerRequirements
- termsAndConditions:
[String!]
CompartmentType
Fields
ExpertJourney
The journey is planned according to a predefined route
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
FullPassenger
All passenger details
Fields
- type:
PassengerType!
- id:
ID!
- firstName:
String
- lastName:
String
- age:
Int
- tel:
String
- email:
String
- birthDate:
Date
- title:
PassengerTitle
- countryResidence:
String
- isContactPerson:
Boolean
- nationality:
String
- passportNumber:
String
- placeOfBirthCity:
String
- placeOfBirthCountry:
String
GeoJsonPoint
Coordinates of a given location
Fields
GenericOrderItem
Fields
JourneyOffer
Fare result produced by a given journey
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
JourneySelection
Fields
- itinerary:
[ItineraryItem!]!
JourneyFare
Fields
JourneyOfferSelection
Selected fare offers
Fields
- journey:
JourneySelection!
- fares:
[SelectedFare!]!
JourneyOrderItem
Journey fare of placed order
Fields
- segments:
[Segment!]!
- fare:
SelectedFare!
- tickets:
[Resource!]
Location
Known location from and to which journeys can be planned
Fields
- uid:
ID!
- name:
String!
- countryCode:
String!
- coordinates:
GeoJsonPoint!
Money
Monetary sum (in cent) of specified currency
Fields
NonStopJourney
The journey is the optimal route without any stopovers
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
NoChargeRedirect
No charge required
Fields
Operator
Operator details
Fields
Order
Finalized order
Fields
- id:
ID!
- status:
OrderStatus!
- reference:
String!
- items:
[OrderItem!]
- passengers:
[FullPassenger!]
PiggybackJourney
The journey is partially based on a predefined route
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
PlacePreference
Possible place preferences
Fields
PassengerBundle
Passengers grouped by type
Fields
- count:
Int!
- type:
PassengerBundleType!
PassBundle
Bundle of Interrail passes
Fields
- id:
ID!
- class:
String
- product:
String!
- price:
Money!
- passengers:
[PassengerBundle!]!
- travelDayCount:
Int
- validityPeriod:
Duration
PassengerPlaceholder
The minium passenger details
Fields
- type:
PassengerType!
- id:
ID!
- age:
Int
PassengerRequirements
Details required for all passengers
Fields
- countryResidence:
Boolean!
- dateOfBirth:
Boolean!
- email:
Boolean!
- nationality:
Boolean!
- passportNumber:
Boolean!
- placeOfBirthCity:
Boolean!
- placeOfBirthCountry:
Boolean!
- title:
Boolean!
- tel:
Boolean!
- firstName:
Boolean!
- lastName:
Boolean!
PassBundleSelection
Selected Interrail bundle
Fields
- product:
String!
- class:
String
- price:
Money!
- passengers:
[PassengerBundle!]!
- travelDayCount:
Int
- validityPeriod:
Duration
PassBundleOrderItem
Interrail pass of placed order
Fields
- passenger:
FullPassenger!
- code:
String
- class:
String
- product:
String!
- price:
Money!
- travelDayCount:
Int
- validityPeriod:
Duration
Resource
File resource
Fields
Segment
Individual train segment (physical train)
Fields
- origin:
Stop!
- destination:
Stop!
- departureAt:
DateTime!
- arrivalAt:
DateTime!
- duration:
Int!
- transport:
Transport!
- operator:
Operator!
- identifier:
String
- services:
[String!]!
Stopover
Location for an overnight stopover
Fields
SegmentCollection
Set of segments that make up a journey leg
Fields
- status:
SegmentCollectionStatus!
- segments:
[Segment!]
- fares:
[Fare!]
- polylines:
[String!]
Strings representing series of Positions encoded using the Google Maps Polyline algorithm, may require decoding. See https://
developers.google.com/ maps/ documentation/ utilities/ polylinealgorithm
SmartJourney
The journey has been segmented into several travel days for comfort
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
SelectedFare
Fields
- id:
ID!
- name:
String!
- price:
Money!
- description:
String
- refundPolicies:
[String!]
- placePreference:
PlacePreference
- compartmentType:
String
StripePayment
Payment using Stripe
Fields
Interfaces
Node
Any unique resource with an ID
Fields
- id:
ID!
Stop
Generic train stop
Fields
- name:
String!
Journey
Journey result produced by any given search algorithm
Fields
- id:
ID!
- status:
JourneyStatus!
- itinerary:
[ItineraryItem!]
Fare
Fare offer for given itinerary item
Fields
Passenger
Fields
- type:
PassengerType!
- id:
ID!
- age:
Int
Payment
Payment to be settled for an order
Fields
Enums
Transport
The mode of transport
Values
- NIGHT_TRAIN
- TRAIN
- BUS
- FERRY
- NIGHT_BUS
JourneyStatus
The current status for a fare search result
Values
- LOADING
- SUCCESS
- ERROR
SegmentCollectionStatus
The current status of a leg of a fare search result
Values
- LOADING
- SUCCESS
- INDETERMINATE
- UNKNOWN
- ONE_DAY
- NO_FARES
- NO_TIMETABLE
- UNABLE_TO_SELL
PassengerType
The type of passenger
Values
- ADULT
Ages 28-59
- YOUTH
Ages 0-27
- SENIOR
Ages 60+
PassengerBundleType
The resulting product type definition for a passenger
Values
- ADULT
- SENIOR
- YOUTH
- CHILD
PassengerTitle
The perferred title of a passenger (required by carriers)
Values
- MR
- MS
- MX
OrderStatus
Current status of an order
Values
- CONFIRMED
Order is confirmed
- PENDING_CONFIRMATION
Order is partially confirmed
- PENDING_PRE_BOOK
Order has not yet been pre booked or confirmed
- PRE_BOOKED
Order has been pre booked, but not yet confirmed
- REFUNDED
The order has been refunded
- UNKNOWN
Unknown state
JourneyType
Type of journey
Values
- BLUEPRINT
- NON_STOP
- SMART
Unions
ItineraryItem
BookingSelection
OrderItem
Scalars
Date
UTC date string in the format yyyy-MM-dd
DateTime
UTC date string in the format yyyy-MM-ddTHH:mm
Duration
ISO 8601 formatted string, e.g. PT2H15M, P2D, P1M
ID
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
String
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Float
The Float
scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://
Int
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Boolean
The Boolean
scalar type represents true
or false
.
Inputs
ViaInput
Fields
PassPassengerInput
Fields
- type:
PassengerType!
- age:
Int
- countryResidence:
String
- nationality:
String
PassengerPlaceholderInput
Fields
- type:
PassengerType!
- age:
Int
FullPassengerInput
Fields
- id:
ID!
- email:
String
- tel:
String
- birthDate:
Date
- firstName:
String
- lastName:
String
- isContactPerson:
Boolean
- title:
PassengerTitle
- countryResidence:
String
- nationality:
String
- passportNumber:
String
- placeOfBirthCity:
String
- placeOfBirthCountry:
String
FareSelectionInput
Fields
BookingSelectionInput
Fields
- fare:
FareSelectionInput
JourneyFilterInput
Fields
- types:
[JourneyType!]
PassBundleFilterInput
Fields