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

  • Returns: [Journey!]!
  • Arguments:
    • origin: ID!

      Origin location uid

    • destination: ID!

      Destination location uid

    • date: Date!

      Date of departure

    • filter: JourneyFilterInput

      Optional filter for journey search

    • via: [ViaInput!]

      Optional via stopovers

    • passengers: [PassengerPlaceholderInput!]

      Passenger details required for availability

    • currency: String (default: "EUR")

      Currency to display availability prices in


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

  • Returns: Journey
  • Arguments:
    • blueprint: ID!

      Blueprint id to get journey for

    • date: Date!

      Date of departure

    • passengers: [PassengerPlaceholderInput!]

      Passenger details required for availability

    • currency: String (default: "EUR")

      Currency to display availability prices in


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

    • currency: String (default: "EUR")

      Currency to display prices in


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


updatePart

Update an offer part of a 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: JSONObject

      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: JSONObject

      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

  • Returns: [Journey!]!
  • Arguments:
    • origin: ID!

      Origin location uid

    • destination: ID!

      Destination location uid

    • date: Date!

      Date of departure

    • filter: JourneyFilterInput

      Optional filter for journey search

    • via: [ViaInput!]

      Optional via stopovers

    • passengers: [PassengerPlaceholderInput!]

      Passenger details required for availability

    • currency: String (default: "EUR")

      Currency to display availability prices in


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

  • Returns: Journey
  • Arguments:
    • blueprint: ID!

      Blueprint id to get journey for

    • date: Date!

      Date of departure

    • passengers: [PassengerPlaceholderInput!]

      Passenger details required for availability

    • currency: String (default: "EUR")

      Currency to display availability prices in

Objects

AnonymousLocation

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

Fields


Availability

Ticket availablility

Fields


Accommodation

Accommodation details for a journey segment.

Describes the type of seating or sleeping arrangement available on a train/bus/ferry, including comfort level and specific features. Used to help passengers choose their preferred travel experience.

The description field provides human-readable details about the accommodation (e.g. "1 person sleeper cabin"), while subType contains a standardized code representation of the same information (e.g., "SINGLE").

Fields


AdmissionPart

The admission (tariff) part of an offer.

Represents the right to travel for the covered segments (the fare/tariff). Contains refund/exchange conditions and the flexibility level, as well as the normalized serviceClass and (operator-specific) comfortClass.

Fields


Ancillary

An ancillary service that can be selected for a reservation.

Additional services or add-ons that passengers can purchase beyond the basic fare. These enhance the travel experience and may include meals, insurance, or special assistance.

Common types and examples:

  • "BREAKFAST": On-board breakfast, pre-ordered meals
  • "MEAL": On-board dining, pre-ordered meals
  • "INSURANCE": Travel insurance, cancellation protection
  • "LUGGAGE": Extra baggage allowance, bike transport
  • "UPGRADE": Seat upgrades, priority boarding
  • "ENTERTAINMENT": WiFi access, entertainment packages

The price field indicates the additional cost, while selections track which passengers have chosen this service.

Fields


AncillarySelection

A selection of an ancillary service

Fields

  • id: ID!
  • passengerId: ID!

BlueprintJourney

A journey constructed from a predefined itinerary blueprint.

Uses a curated sequence of segments and optional stopovers defined by a blueprint. Blueprints are suitable for editorial or productized routes (e.g. scenic itineraries, recommended routes, or multi-city trips) and can include planned overnight stopovers.

Typical use cases:

  • Publishing recommended routes with fixed or suggested stopovers
  • Recreating saved or shared itineraries
  • Ensuring specific paths or operators are used

Fields


BookingFare

A bookable fare offer for a journey

Fields


Booking

Represents a temporary booking that holds selected offers, pass bundles, and passenger information before payment and confirmation. Bookings have a limited lifespan and must be confirmed before expiration.

If expiresAt is reached without confirmation, or if the booking fails for any reason, the booking is automatically cancelled and offers are released back to inventory. An expired or failed booking cannot be used again and will need to be recreated from scratch.

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


FullPassenger

All passenger details

Fields


FileResource

File resource

Fields


GeoJsonPoint

Coordinates of a given location in GeoJSON Point format.

Follows the GeoJSON specification (RFC 7946) using WGS84 coordinate system. Coordinates are stored as [longitude, latitude] array (note the order).

Examples:

  • London: [-0.1278, 51.5074] (longitude, latitude)
  • Rome: [12.4964, 41.9028] (longitude, latitude)
  • Stockholm: [18.0686, 59.3293] (longitude, latitude)
  • Berlin: [13.4050, 52.5200] (longitude, latitude)

Note: The type field is always "Point" for this implementation.

Fields


GenericOrderItem

An unspecified 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 journey offer that is part of a booking

Fields


JourneyOrderItem

A booked journey from a journey offer, containing segments, tickets and other resources

Fields


Location

Known location from and to which journeys can be planned

Fields


Money

Monetary sum using CLDR (Common Locale Data Repository) format.

The amount field represents the monetary value in the smallest currency unit:

  • For currencies with decimal places (USD, EUR, GBP, etc.): amount is in cents (e.g., 1000 = $10.00, 1250 = €12.50)
  • For currencies without decimal places (JPY, KRW, etc.): amount is in whole units (e.g., 1000 = ¥1000, 1250 = ¥1250)

Users are advised to consult the CLDR specification for proper currency formatting and display. The currency field contains the ISO 4217 currency code (e.g., "USD", "EUR", "JPY").

Examples:

  • USD 1000 = $10.00 (1000 cents)
  • EUR 1250 = €12.50 (1250 euro cents)
  • JPY 1000 = ¥1000 (1000 yen, no decimal places)
  • KRW 5000 = ₩5000 (5000 won, no decimal places)

Fields


NonStopJourney

A direct journey with no planned stopovers.

Represents the optimal (fastest) end-to-end route from origin to destination without overnight stopovers. Transfers between trains may still occur, but the itinerary does not intentionally include long breaks or multi-day segments.

While this optimizes for speed, it may result in less comfortable connections that require transfers at inconvenient times.

Use when passengers want the fastest connection in a single travel day where possible.

Fields


NoChargeRedirect

Payment type used when no payment is required.

This payment type is used in cases where:

  • The booking has a total price of 0
  • The booking has been fully paid with gift cards or credits
  • The booking is being processed through an agent with direct billing

The URL field will redirect to the provided successUrl.

Fields


Operator

Operator details

Fields


Offer

A priced, bookable combination of entitlements for a journey.

An offer bundles everything needed to travel on a ticketable segment of an itinerary. It is made up of one or more parts:

  • AdmissionPart: the right-to-travel/tariff entitlement (admission to board)
  • ReservationPart: optional seat/berth reservations and add-ons

Pricing and composition:

  • price: total price for all included parts in the requested currency
  • parts: per-part breakdown with their own price and the segments they cover

Usage:

  • returned by journey pricing endpoints and attached to itinerary results
  • selected when creating a booking (see JourneyOfferSelection and OfferSelectionInput)
  • per-part options (e.g., placeProperties, ancillaries) are configured on ReservationPart items

Notes:

  • Some connections can be traveled without a reservation; such offers only have an AdmissionPart
  • Sometimes reservations are included, in which case a ReservationPart with no price is returned
  • Long or mixed-operator journeys may include multiple AdmissionPart and ReservationPart items, each covering different segments

Fields


Order

Finalized order with confirmed bookings and issued tickets.

Represents a completed transaction where payment has been processed, offers have been confirmed, and tickets have been or are being issued. Orders are the final state of a booking and contain all travel documentation.

The reference field is typically used for customer service inquiries.

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 encoded as a hexadecimal string.

    Each bit in the bitfield corresponds to a specific day, starting from the startDate and ending on the endDate. Each hexadecimal character represents 4 days (bits).

    Bit interpretation:

    • Bit 0 = startDate
    • Bit 1 = startDate + 1 day
    • Bit 2 = startDate + 2 days
    • etc.

    Examples:

    • "FF" = 8 days of service (11111111 in binary)
    • "F0" = First 4 days of service (11110000 in binary)
    • "0F" = Last 4 days of service (00001111 in binary)
    • "AA" = Every other day (10101010 in binary)

    To decode: Convert hex to binary, each 1 represents a day with service.


PlaceProperty

Option relating to the seating arrangement and other aspects of the journey.

Allows passengers to specify preferences for their travel experience, such as seat location, cabin type, or special requirements. These properties can be required (mandatory selection) or optional (preference-based).

Common property types:

  • "GENDER": Segregated cabin by gender
  • "PLACE_OR_COMPARTMENT_LOCATION": Location of the place or compartment
  • "SPECIAL_COMPARTMENT_TYPE": Special compartment type

The availableOptions list shows all possible choices, while selectedOption indicates the passenger's current preference.

Fields


PlacePropertyOption

An option for a place property.

Represents a specific choice within a place property category. These options are what passengers can select from when choosing their preferences.

Examples by property type:

  • GENDER: "MEN", "LADIES", "MIXED"
  • PLACE_OR_COMPARTMENT_LOCATION: "WINDOW", "AISLE", "FRONT", "BACK"
  • SPECIAL_COMPARTMENT_TYPE: "EASY_ACCESS", "WITHOUT_ANIMALS", "QUIET_ZONE"

The value field contains the standardized identifier for the option, while the id field provides a unique reference for selection tracking.

Fields


PlacePreference

Possible place preferences

Fields


PassengerBundle

Passengers grouped by type for fare calculation and pass bundle allocation.

Represents a count of passengers of the same type that will be traveling together. This grouping is used to:

  • Calculate group fares and discounts
  • Allocate rail passes and other travel products

The count field represents the number of passengers of this specific type.

Fields


PassBundle

Bundle of rail passes and similar travel products.

Represents a collection of travel passes that can be purchased together, typically for multiple passengers or extended travel periods. These bundles provide access to train networks across multiple countries.

Pass structure:

  • class: "1stclass" (first class travel) or "2ndclass" (second class travel)
  • product: "interrail-global-pass" (33 countries), "eurail-one-country-pass-sweden" (single country)
  • travelDayCount: Number of days the pass can be used for travel within the validity period
  • validityPeriod: Overall time window when the pass is valid

Pass types:

  • Continuous passes: travelDayCount is null (unlimited daily travel during validity period)
  • Flexi passes: travelDayCount specifies exact number of travel days within validity period

Fields


PassengerPlaceholder

The minium passenger details

Fields


PassengerRequirements

Details required for all passengers on a specific booking.

Defines which passenger information fields are mandatory for a particular booking. Requirements are determined by ticketing providers and vary depending on the operator being used.

Fields


PassBundleSelection

Selected Interrail bundle that is part of a booking

Fields


PdfTicket

Ticket issued in PDF format for download

Fields


PassBundleOrderItem

A booked rail pass from a pass bundle offer, containing passenger details and pass information

Fields


ReservationPart

The reservation part of an offer.

Represents the seat/berth reservation(s) and related options for the covered segments. May expose configurable placeProperties (e.g., window/aisle, quiet-zone) and optional ancillaries (e.g., luggage, meals). price reflects the reservation cost for the part; the offer total is on Offer.price.

Fields


ReturnCondition

The conditions for returning or exchanging an offer.

Defines the rules and policies that apply when a passenger needs to modify or cancel their booking. These conditions vary by offer type and operator, affecting refundability and exchange options.

The description provides human-readable policy details, while the type categorizes the return option as either refund, exchange, or unknown.

Fields


RateLimit

Rate limit imposed for an agent to prevent API abuse.

Implements rate limiting to ensure fair usage of the API across all agents and to protect system resources from excessive requests.

When remaining reaches 0, requests are rejected until resetAt. Specific limits are determined by the commercial agreement with each agent.

Fields


ServiceBrand

The brand of the service

Fields


Segment

Individual train segment representing a single physical train journey between two stops.

A segment is the atomic unit of travel - it represents one train/bus/ferry that travels from origin to destination, possibly with intermediate stops but no change of transport. Multiple segments can be combined to form an individual journey leg, see SegmentCollection.

Fields


Stopover

Location for an overnight stopover

Fields


SegmentCollection

A collection of connected segments that form a logical journey leg.

Represents a sequence of segments that:

  • Share the same availability status
  • Can be booked together
  • Have common offer options
  • Form a continuous path between major stops

Used to group related segments together for pricing and booking purposes.

Fields

  • status: SegmentCollectionStatus!
  • segments: [Segment!]
  • offers: [Offer!]
  • availability: Availability
  • planningPeriod: PlanningPeriod
  • 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

A journey that optimizes for comfort by limiting daily travel time.

For short distances, provides direct connections when available. For longer routes, automatically segments the journey into multiple days to avoid excessively long travel times. This ensures passenger comfort and builds in buffer time in case of disruptions.

Segmentation logic considers factors like night trains, connection times, and time of day to determine whether splitting into multiple days would improve the overall experience.

This is the default journey type returned by the API.

Typical use cases:

  • Long-distance trips that would be exhausting in a single day
  • Routes where overnight breaks improve reliability
  • Itineraries benefiting from night trains or natural break points

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, combining comfort and service levels.

Represents the quality and amenities available for a specific fare option. The comfortClass provides operator-specific classification (e.g., "1st", "2nd", "Premium"), while serviceClass gives a normalized comparison across different operators.

Examples:

  • comfortClass: "1st", serviceClass: HIGH (First class with premium service)
  • comfortClass: "2nd", serviceClass: STANDARD (Second class with standard service)
  • comfortClass: "Premium", serviceClass: BEST (Premium class with best available service)
  • comfortClass: "Economy", serviceClass: BASIC (Economy class with basic service)

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

Possible types

Fields


Stop

Generic train stop

Possible types

Fields


OfferPart

One part that makes up an offer.

Each part references the exact segments it applies to. The optional price reflects the cost of this part; the overall total is reported on Offer.price.

Possible types

Fields


Journey

Journey result produced by any given search algorithm

Possible types

Fields


Fare

Fare offer for given itinerary item

Possible types

Fields


Passenger

A passenger with minimal details

Possible types

Fields


Payment

Represents a payment that needs to be processed to complete an order. The payment interface defines the common fields shared across different payment methods:

  • id: Unique identifier for the payment
  • url: URL where the customer can complete the payment

Different payment implementations (like StripePayment or NoChargeRedirect) may provide additional fields specific to their payment flow.

The payment URL typically redirects to a payment page hosted by All Aboard where the customer can securely enter their payment details.

Possible types

Fields


Resource

Generic resource that can be accessed or downloaded.

Represents digital assets associated with orders, such as tickets, boarding passes, receipts, and other travel documents. Resources are typically accessed via URLs and may have different formats.

Common resource types:

  • application/pdf: PDF tickets, receipts, and documentation
  • image/png: QR codes, boarding passes, and visual elements
  • text/plain: Plain text instructions and confirmations
  • application/json: Structured data and API responses

Resources may have access restrictions or expiration times depending on the type and operator policies.

Possible types

Fields

  • name: String
  • type: String

    MIME type, e.g. application/pdf, image/png, text/plain

  • url: String

Enums

Transport

The mode of transport

Values

  • NIGHT_TRAIN
  • TRAIN
  • BUS
  • FERRY
  • NIGHT_BUS

JourneyStatus

The current status for a journey result

Values

  • LOADING
  • SUCCESS
  • ERROR

SegmentCollectionStatus

Status indicating whether a segment collection was successfully loaded or encountered an error

Values

  • LOADING

    The request is loading

  • SUCCESS

    The request was successful

  • INDETERMINATE

    Status could not be determined due to an error with a prior connection

  • UNKNOWN

    An unexpected error occurred

  • ONE_DAY

    Allow at least one day from todays date

  • NO_FARES

    No fares available for the requested connection

  • NO_TIMETABLE

    No timetable available for the requested date

  • UNABLE_TO_SELL

    No availability

  • OUTSIDE_TIMETABLE

    The requested date falls outside current timetable planning period

  • PREBOOK_NOT_POSSIBLE

    Online prebook is not possible due to sales restrictions


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

    Journeys built from predefined itinerary blueprints (curated or editorial routes). May include planned stopovers and specific paths.

  • NON_STOP

    Fastest end-to-end journeys without planned overnight stopovers. Transfers may occur, but no intentional multi-day segments are included.

  • SMART

    Comfort-optimized journeys that may split long routes across days to limit daily travel time and improve overall experience. Default type.


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


AccommodationType

The type of accommodation available

Values

  • SEAT

    Seat in a seated area

  • COUCHETTE

    Bed in a couchette cabin

  • BERTH

    Bed in a comfortable sleeper cabin

  • UNKNOWN

    Accommodation is unknown


Flexibility

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

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


JSONObject

The JSONObject scalar type represents JSON objects as specified by ECMA-404.


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.


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 to break up long trips.

Allows passengers to specify intermediate locations where they want to stop and spend time before continuing their journey. This is useful for long-distance travel where passengers want to explore cities along the way or break up overnight journeys.

Field requirements:

  • uid: Required - the location UID where the stopover occurs
  • duration: Optional - how long to stay (e.g., "P2D" for 2 days) If not specified, the journey will simply route via that location with a change of trains (no extended stopover)

Fields


PassPassengerInput

Passenger details for passholder

Fields


PassengerPlaceholderInput

Input type for basic passenger details. When specifying a passenger's age, either:

  1. Provide the birthDate field with their date of birth, OR
  2. Provide the age field with their age at time of travel

For passenger types YOUTH and SENIOR, one of these age fields must be provided to validate eligibility for age-based fares and discounts.

For the ADULT passenger type, age fields are optional.

Fields


FullPassengerInput

Full passenger details required to complete a booking.

Represents the complete set of passenger data that may be required by ticketing providers and operators. Exactly one passenger per booking must be marked as the contact person using isContactPerson: true. The contact person must provide both email and tel so they can receive operational updates.

Notes:

  • Only one passenger should be marked as contact person per booking
  • When isContactPerson is true, email and tel must be provided
  • Other fields may be required depending on operator (see PassengerRequirements)

Fields


FareSelectionInput

Selection of fare for a journey

Fields


OfferSelectionInput

Selection of offer for a journey

Fields


BookingSelectionInput

Selection for a booking

Fields


JourneyFilterInput

Filter for journey search results by journey type.

Use this to restrict which journey variants are returned. Supported types:

  • SMART: Comfort-optimized journeys; may split long routes across days. Default journey type returned by the API.
  • BLUEPRINT: Journeys based on predefined itinerary blueprints (curated or editorial routes), can include planned stopovers.
  • NON_STOP: Fastest end-to-end journeys without planned overnight stopovers.

You can combine multiple types to retrieve several variants at once.

Fields


PassBundleFilterInput

Filter for filtering pass bundles by various criteria.

Supported filters:

  • product: Filter by specific pass product type, e.g. "interrail-global-pass"
  • class: Filter by travel class (e.g. "1stclass" or "2ndclass")
  • campaignCode: Filter by promotional campaign code, e.g. "INTERRAIL_2025"

Use this to narrow down pass bundle results when searching for available passes.

Fields


PlacePropertyInput

Place property to update

Fields

  • optionId:ID!
  • propertyId:ID!

AddAncillaryInput

Ancillary to add to a booking for a given passenger

Fields

  • ancillaryId:ID!
  • passengerId:ID!

RemoveAncillaryInput

Ancillary selection to remove from a booking

Fields