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


getJourneys

Get journeys between origin and destination on given date


getJourneyOffer

Get fares for given journey, prefer socket

  • Returns: JourneyOffer!
  • Arguments:
    • journey: ID!

      Id of Journey to get fares for

    • passengers: [PassengerPlaceholderInput!]!

      Passenger details

    • currency: String (default: "EUR")

      Currency to display prices in

    • isPassholder: Boolean (default: false)

      Whether the passenger is a passholder


getJourneyForBlueprint

Get journey for given blueprint


getPassBundles

Get applicable pass bundles for given passengers


getPassBundlesForJourneyOffer

Get applicable pass bundles for given journey offer


getJourneyRatings

Get comparative rating for journeys

  • Returns: [Float!]!
  • Arguments:
    • journeys: [ID!]!

      List of journey ids


getTicketingFee

Get fee for issuing tickets

  • Returns: Money
  • Arguments:
    • fares: [ID!]

      List of fares to get ticketing fee for

    • passBundle: ID

      Id of pass bundle to get ticketing fee for

    • currency: String (default: "EUR")

      Currency to display prices in


node

Get anything with an ID

  • Returns: Node
  • Arguments:
    • id: ID!

      Id of node


getSalesAgent

Get sales agent details

Mutation

createBooking

Create a booking

  • Returns: Booking!
  • Arguments:
    • journeyOffer: ID

      Id of journey to add to booking

    • passBundle: ID

      Id of pass bundle to att to booking

    • currency: String (default: "EUR")

      Currency to display prices in


updateBooking

Update an existing booking


createPayment

Create a payment which, once fulfilled, will create and finalize the order

  • Returns: Payment!
  • Arguments:
    • booking: ID!

      Id of booking to pay for

    • cancelUrl: String!

      URL to redirect to in the case of payment cancellation

    • successUrl: String!

      URI Template (RFC 6570) compliant string with {order} placeholder

    • metadata: String

      JSON encoded string of metadata to attach to order


createOrder

Confirm booking selections and prebook fares

  • Returns: Order!
  • Arguments:
    • booking: ID!

      Id of booking to confirm

    • metadata: String

      JSON encoded string of metadata to attach to order


finalizeOrder

Finalize order and fetch tickets

  • Returns: Order!
  • Arguments:
    • order: ID!

      Id of order to finalize

Subscription

getJourneys

Get journeys between origin and destination on given date


getJourneyOffer

Get fares for given journey

  • Returns: JourneyOffer!
  • Arguments:
    • journey: ID!

      Id of Journey to get fares for

    • passengers: [PassengerPlaceholderInput!]!

      Passenger details

    • currency: String (default: "EUR")

      Currency to display prices in

    • isPassholder: Boolean (default: false)

      Whether the passenger is a passholder


getJourneyForBlueprint

Get journey for given blueprint

Objects

AnonymousLocation

A station where stops may be made but journeys cannot be planned from/to

Fields


Availability

Ticket availablility

Fields


Accommodation

Accommodation

Fields


AdmissionPart

The part of an offer that covers admission, i.e. being allowed to board the train

Fields


AdmissionAndReservationPart

The part of an offer that covers reservations, i.e. a seat or bed

Fields


BlueprintJourney

The journey is planned according to a Itinerary Blueprint

Fields


BookingFare

A bookable fare offer for a journey

Fields


Booking

Non-finalized offer for collection order details

Fields


CompartmentType

A compartment type for a fare, e.g. Sleeper or Couchette

Fields


CheckInResource

Resource that can be accessed for check-in and ticket issuing

Fields


ExpertJourney

The journey is planned according to a predefined route

Fields


Flexibility

Flexibility of a fare

Fields


FareReturnCondition

The conditions for returning a part of the fare

Fields


FullPassenger

All passenger details

Fields


FileResource

File resource

Fields


GeoJsonPoint

Coordinates of a given location

Fields


GenericOrderItem

An inspecified item in an order

Fields


JourneyOffer

Fare result produced by a given journey

Fields


JourneySelection

The journey selected for an offer

Fields


JourneyFare

A fare offer for a journey

Fields


JourneyOfferSelection

Selected fare offers

Fields


JourneyOrderItem

Journey fare of placed order

Fields


Location

Known location from and to which journeys can be planned

Fields


Money

Monetary sum (in cent) of specified currency

Fields


NonStopJourney

The journey is the optimal route without any stopovers

Fields


NoChargeRedirect

No charge required

Fields


Operator

Operator details

Fields


Offer

An offer for a journey

Fields


Order

Finalized order

Fields


PlanningPeriod

Period for which a serivce is scheduled to run

Fields

  • startDate: Date!
  • endDate: Date!
  • bitfield: String!

    A bitfield string representation of the days of service. Each bit in the bitfield corresponds to a specific day, starting from the startDate and ending on the endDate. The bitfield is encoded as a hexadecimal string, where each hexadecimal character represents 4 days (bits).


PiggybackJourney

The journey is partially based on a predefined route

Fields


PlacePreference

Possible place preferences

Fields


PassengerBundle

Passengers grouped by type

Fields


PassBundle

Bundle of Interrail passes

Fields


PassengerPlaceholder

The minium passenger details

Fields


PassengerRequirements

Details required for all passengers

Fields


PassBundleSelection

Selected Interrail bundle

Fields


PdfTicket

Ticket issued in PDF format for download

Fields


PassBundleOrderItem

Interrail pass of placed order

Fields


ReservationPart

The part of an offer that covers reservations, i.e. a seat or bed

Fields


ReturnCondition

The conditions for returning

Fields


ReturnPolicy

A part of the fare that can be returned

Fields


RateLimit

Rate limit imposed for an agent

Fields


ServiceBrand

The brand of the service

Fields


Segment

Individual train segment (physical train)

Fields


Stopover

Location for an overnight stopover

Fields


SegmentCollection

Set of segments that make up a journey leg

Fields


SmartJourney

The journey has been segmented into several travel days for comfort

Fields


SelectedFare

The selected fare of a journey offer

Fields


StripePayment

Payment using Stripe

Fields


SalesAgent

An authorized agent interacting with the API

Fields


TicketClass

The class of an available ticket

Fields


TicketOnDeparture

Ticket which can be retrieved on departure

Fields

  • reference: String!

    Ticket collection reference

  • description: String!

    Instructions on how to retrieve the ticket

Interfaces

Node

Any unique resource with an ID

Fields


Stop

Generic train stop

Fields


OfferPart

One part that makes up an offer

Fields


Journey

Journey result produced by any given search algorithm

Fields


Fare

Fare offer for given itinerary item

Fields


Passenger

A passenger with minimal details

Fields


Payment

Payment to be settled for an order

Fields


Resource

Generic resource

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

    The request is loading

  • SUCCESS

    The request was successful

  • INDETERMINATE

    Could not determine status

  • UNKNOWN

    An unexpected error occurred

  • ONE_DAY

    Allow at least one day from todays date

  • NO_FARES

    No fares available

  • NO_TIMETABLE

    No timetable available

  • UNABLE_TO_SELL

    No availability

  • OUTSIDE_TIMETABLE

    No availability for the requested date


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

AvailabilityStatus

The current availability of a journey

Values

  • LOADING

    The request is loading

  • AVAILABLE

    The request was successful

  • UNKNOWN

    An unexpected error occurred

  • SOLD_OUT

    Fares are sold out


AccommodationCategory

The type of accommodation available

Values

  • SEAT

    A seat in a shared compartment or open-plan coach

  • BERTH

    A couchette berth in a shared compartment

  • BED

    A comfortable bed in a shared or private compartment

  • UNKNOWN

    Accommodation is unknown


FlexibilityCategory

Flexibility of a fare

Values

  • NON_FLEX

    No refunds or exchanges

  • SEMI_FLEX

    Partly refundable or exchangeable

  • FULL_FLEX

    Fully refundable or exchangeable

  • UNKNOWN

    Flexibility is unknown


ReturnType

Type of return covered by a return policy

Values

  • EXCHANGE
  • REFUND
  • UNKNOWN

FarePart

Part of fare covered by a return policy

Values

  • ADMISSION
  • RESERVATION

ServiceClass

Normalized class of service

Values

  • BEST

    Best class available, premium comfort with top-tier amenities and exclusive services

  • HIGH

    Standard first class, high comfort with enhanced seating and additional perks

  • STANDARD

    Standard second class, balanced service with essential comfort and amenities

  • BASIC

    Most economical class available, minimal service focused on affordability and essential needs

  • UNKNOWN

    Service class is not known


PaymentMethod

Valid agent payment method

Values

  • INVOICE
  • WALLET
  • STRIPE

RateLimitUnit

The unit for a given rate limit

Values

  • HOUR
  • DAY

Unions

ItineraryItem

Items that can make up the itinerary of a Journey

Possible types


BookingSelection

Selections that can be part of a booking

Possible types


OrderItem

Items that can be part of an order

Possible types


OrderResource

A resource associated with an order

Possible types

Scalars

Date

Date string (ISO 8601 – YYYY-MM-DD)


DateTime

Naive date and time string, seconds omitted (ISO 8601 – 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://en.wikipedia.org/wiki/IEEE_floating_point).


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

Via stopover for a journey

Fields


PassPassengerInput

Passenger details for passholder

Fields


PassengerPlaceholderInput

Placeholder for passenger details

Fields


FullPassengerInput

Full passenger details

Fields


FareSelectionInput

Selection of fare for a journey offer

Fields


BookingSelectionInput

Selection for a booking

Fields


JourneyFilterInput

Filter for journey search

Fields


PassBundleFilterInput

Filter for pass bundles

Fields