RailPrice request message

Tabular overview of all nodes, which may occur in this message. See legend below for description of table columns.
Note: Some sibling elements or complete sub-trees of the hierarchy may be defined as mutually exclusive alternative choices. This information cannot be expressed in this tabular overview. Please refer to schema diagram for a graphical representation of the message schema.

NodeDescriptionValuesOccursExample
<RailPriceRQ>
Rail price request root element1
<Traveler>
For DB maximum number of travelers is 5.1..N
@Type
Passenger type requested for pricing. If the passenger type sent to the GDS is not in the below predefined list, then it is passed as is to the GDS.
Predefined values are :
ADT= Adult
CHD = Child
INF = Infant

1 CHD
@AssociationID
A unique traveler reference if an association to individual travelers is needed, such as for optional services.

1 T1
<Discount>
A discount to be applied for this Traveler.0..1
@Type
The type of discount to be applied for the Traveler.

[AmtrakAAA] [AmtrakCorporate] [AmtrakIntlStudentID] [AmtrakNatAssocRailPax] [AmtrakStudentAdvantage] [AmtrakUSArmedForces] [AmtrakVeteranAdvantage] [AtocUKAnnualGold] [AtocUKChildDisability] [AtocUKDisability] [AtocUKFamilyFriends] [AtocUKGroupsave3] [AtocUKGroupsave4] [AtocUKHMArmedForces] [AtocUKJobcentrePlus] [AtocUKNetwork] [AtocUKSenior] [AtocUKTwoTogether] [AtocUKYouth] [BahnCard1st25] [BahnCard2nd25] [BahnCard1st50] [BahnCard2nd50] [BahnCardBusiness1st25] [BahnCardBusiness2nd25] [BahnCardBusiness1st50] [BahnCardBusiness2nd50] [A-VORTEILScardInclRAILPLUS] [CH-HalbtaxAboInclRAILPLUS] [CH-HalbtaxAbo] [NL-VoordeelurenaboInclRAILPLUS] [NL-Voordeelurenabo] [RAILPLUS] [DBCorporate] [EurostarCorporate] [RenfeCarnetGo25ISTC] [RenfeCarnetJoven] [RenfeCorporate] [RenfeTarjetaDorada] [RenfeTarjetaJovenRenfe] [RenfeTarjetaRailPlusJunior] [ThalysCorporate] [VIACorporate] 1 BahnCard2nd25
</Discount>
<Age/>
Age of traveler.

DB requires the age at time of travel to be specified for all travelers for certain international fares. As an alternative the DateOfBirth may be specified.

0..1 34
<DateOfBirth/>
Traveler birth date in ISO 8601 format (yyyy-mm-dd). May be specified as alternative to Age for fares requiring the traveler age at time of travel.

0..1 1990-12-25
</Traveler>
<OriginDestination>
Origin and destination group

DB only supports max 2 OriginDestination elements.
One for single and two for round trip.
1..N
@Source
Identifies the source of this element. In other words where the content originates from. Not limited to GDS, applicable to direct connect as well. 0..1 1A, 1V, or other.
<Segment>
1..N
@AssociationID
Unique connection ID used to associate pricing information to the rail element.

1 R02
@Type
Segment type.[Bus] [Car] [Ship] [Suburban] [Taxi] [Train] [Tram] [Underground] [Unknown] [Walking] 1
<Departure>
Origin group1
<StationCode/>
Railway, point of interest, address or other station code.1
<Date/>
Departure date in ISO 8601 format (yyyy-mm-dd).

1 2001-12-25
<Time/>
Time in ISO 8601 twenty-four hour clock format (hh:mm). 1 14:25
</Departure>
<Arrival>
Destination group1
<StationCode/>
Railway, point of interest, address or other station code.1
<Date/>
Arrival date in ISO 8601 format (yyyy-mm-dd).

1 2001-12-25
<Time/>
Time in ISO 8601 twenty-four hour clock format (hh:mm). 1 14:25
</Arrival>
<ClassOfService/>
For DB:
1...first class
2...second class
1
<Carrier>
Carrier group0..1
<CarrierCode/>
Carrier code. 1 2V
<TrainNumber/>
Train number.1
</Carrier>
<FareRefKey/>
Unique fare reference key. If present in pricing response messages, must be included in FareRulesRQ.0..1
</Segment>
</OriginDestination>
<OptionalServices>
Optional Services group0..1
<RailService>
Service details1..N
@Type
Type of RailService requested. Values:

The following two services are mutually exclusive and allow to specify details using Attribute elements (see annotation there):
- ReservationWithSeats: Book fare and make seat reservations.
- ReservationSeatsOnly: Only make seat reservations (do not book fare).

- TicketsByMail : Deliver tickets by mail.
- TicketsSeparateInAndOutbound: Issue separate tickets for in- and outbound parts of itinerary.

The following four services allow to book tickets for local public transportation at the destination of in- or outbound part of itinerary. Each pair of services is mutually exclusive:
- CityTicketOutboundSingle: single trip ticket at destination of outbound trip.
- CityTicketOutboundDay: day ticket at destination of outbound trip.

- CityTicketInboundSingle : single trip ticket at destination of inbound trip.
- CityTicketInboundDay : day ticket at destination of inbound trip.

[Accommodation] [Internet] [LocalTransit] [Meal] [ReservationSeatsOnly] [ReservationWithSeats] [TicketsByMail] [TicketsSeparateInAndOutbound] [CityTicketOutboundSingle] [CityTicketOutboundDay] [CityTicketInboundSingle] [CityTicketInboundDay] 1 ReservationWithSeat
<SegmentIDRef/>
Some RailServices may be requested for individual segments while others always apply globally to the complete PNR.

For those which may be requested per segment (those for which SegmentIDRef elements are returned in RailPriceRS when requesting options), a SegmentIDRef element must be added for each segment the service is to be requested for. The value to use for the SegmentIDRef element is the @AssociationID assigned to the respective Segment.

0..N R02
<Attribute>
Depending on its @Type, a RailService may allow to provide one or more Attributes which specify detailed preferences for the requested service. The @Code specifies the type of the Attribute while the @Value specifies the preference itself.

Which Attributes (that is, which values for @Code) are supported depends on the @Type of the RailService (see annotation for @Code).

For each supported Attribute which is left out, a default value will be applied (see annotation for @Value).
0..N
@Code
A code to specify the type of this Attribute. Which attributes (and therefore values of @Code) are supported depends on the @Type of the RailService.

For @Type: ReservationWithSeat and
for @Type: ReservationSeatOnly:
- SeatQuantity
- SeatArea
- SeatLocation
- SeatZone
- SeatUnavailablePolicy: this attribute only takes effect during PNRCreateRQ if seat availability can only be determined during booking for one or more segments and seats are not available on all of these segments with the exact preferences specified.
[SeatPreference] [SeatQuantity] [SeatArea] [SeatLocation] [SeatZone] [SeatUnavailablePolicy] 1
@Value
The preference value specified for this Attribute. Which values are available depends on the @Code of the Attribute:

For @Code:NumberOfSeats
- 1-5 (default is number of Rail/Traveler elements)

For @Code: SeatArea
- Any (default)
- OpenSaloon
- Compartment
- OpenSaloonWithTable

For @Code: SeatZone
- Any (default)
- QuietZone
- PhoneZone

For @Code: SeatLocation
- Any (default)
- Aisle (for 1 seat reservation)
- Window (for 1 seat reservation)
- OppositeWindow (for 2 seat reservations)
- Opposite (aisle if possible - for 2 seat reservations)
- SideBySide (for 2 seat reservations)

For @Code: SeatUnavailablePolicy
- FailIfUnavailable (default): if seats are not available on all segments for which seat availability can only be determined during booking with the exact preferences specified, booking should fail with error.
- RestrictToAvailableMatchingPrefs: if seats are not available on all segments for which seat availability can only be determined during booking with the exact preferences specified, continue with booking and reserve seats only for those segments which fullfil the exact preferences specified.
- RestrictToAvailable: if seats are not available on all segments for which seat availability can only be determined during booking with the exact preferences specified, continue with booking and reserve seats for all segments allowing reservation whether they match the exact preferences specified or not.
- BookWithoutSeats: if seats are not available on all segments for which seat availability can only be determined during booking with the exact preferences specified, continue with booking but don't reserve any seats.
[Any] [1] [2] [3] [4] [5] [OpenSaloon] [Compartment] [OpenSaloonWithTable] [QuietZone] [PhoneZone] [Aisle] [Window] [OppositeWindow] [Opposite] [SideBySide] [Backward] [Forward] [Lavatory] [Luggage] [Middle] [Power] [Single] [Table] [FailIfUnavailable] [RestrictToAvailableMatchingPrefs] [RestrictToAvailable] [BookWithoutSeats] 1
</Attribute>
<ReferenceKey/>
Unique reference key. If present in pricing response messages, must be included.0..1
</RailService>
</OptionalServices>
<PricingInfo>
0..1
@RequestOptions
Used to request optional services offered by the carrier(s) such as (seat reservation) options, e.g. premium seats, WiFi, baggage charge, etc.

Possible values are:
Y = get PricingOptions if available, otherwise return fare

[Y] [N] 0..1 Y
</PricingInfo>
</RailPriceRQ>

Legend

ColumnDescription
NodeName of message node (element or attribute). Nodes in bold type are mandatory, if their parent element occurs in the message. Point mouse cursor at table cell to view complete XPath.
DescriptionDescription of meaning and usage of the node.
ValuesList of predefined values (each in square brackets) or range of values ("[a] to [z]") allowed for the node, if formally defined in the schema.
OccursMinimum and maximum number of times the node must/may occur, if its parent element occurs in the message. Examples:
0..3 Node is optional and may occur up to 3 times.
1..N Node must occur at least one (mandatory) and may occur any number of times.
2 Node must occur exactly twice.
ExampleExample value for the node.

XML Schema documentation generated with XX/1 server