RailPrice response 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
<RailPriceRS>
Rail price response root element1
<InfoGroup>
Error and information group0..1
<ForInfo>
Information group0..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.
@SourceRef
PNR Record Locator associated to Source attribute.0..1
<Text/>
Information text or error text. 1..N Free flow text. Example: Invalid flight number
</ForInfo>
<Error>
Error group0..N
@ErrorType
Type of error. 1 Air
@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.
@SourceRef
PNR Record Locator associated to Source attribute.0..1
<Code/>
Error code or equipment type code. 1 0104 (error code), 747 (equipment code)
<Text/>
Information text or error text. 1..N Free flow text. Example: Invalid flight number
<UnderlyingError>
Errors of the backend system can be returned here.0..N
@Code
error code of the backend system.0..1
<Text/>
Information text or error text. 0..N Free flow text. Example: Invalid flight number
</UnderlyingError>
</Error>
<BackOffice>
Generic back office response container. Serves as a placeholder for any context specific content.0..1
</BackOffice>
</InfoGroup>
<FareGroup>
Fare group containing all information regarding the air fares. It includes the type of fare, the passenger type and number in party as well as tax information and restrictions, if any.0..N
@TravelerCount
Total number of passengers of all types for the entire itinerary. [0] to [18]1 4
@TotalPrice
Total price for the entire itinerary for all passengers of all types. It is the sum of all TypeTotalPrice. 1 320000
@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.
<CurrencyCode>
Currency code. 1 USD
@NumberOfDecimals
Decimal position in fare amount. 1 2
</CurrencyCode>
<FareDescription>
A textual description of the fare. May contain fare details/rules, but in an non-structured format.0..1
<Text/>
Text content describing fare.

1..N One way fare, 2 adults, seat reservation not included.
</FareDescription>
<OptionalServices>
Optional services which where explicitly requested in RailPriceRQ.0..1
<RailService>
Each RailService element corresponds to a respective RailService requested RailPriceRQ.1..N
@Type
Type of service requested.

[Accommodation] [Internet] [LocalTransit] [Meal] [ReservationSeatsOnly] [ReservationWithSeats] [TicketsByMail] [TicketsSeparateInAndOutbound] [CityTicketOutboundSingle] [CityTicketOutboundDay] [CityTicketInboundSingle] [CityTicketInboundDay] 1 ReservationWithSeat
@AvailabilityStatus
The @AvailabilityStatus specifies whether the RailService is available exactly as requested or with restrictions.

Values:
- AsRequested : RailService is available exactly as requested.

- WithRestrictions : RailService is available but with certain restrictions with respect to the preferences specified in the request. These restrictions are specified in detail by AvailabilityRestriction elements.

NOTE: If a requested RailService is NOT available at all or - if it was requested for specific segments - NOT available for any of the requested segments, an InfoGroup/Error will be returned instead of a regular response.

[AsRequested] [WithRestrictions] 1 AsRequested
<AvailabilityRestriction>
If and only if the RailService/@AvailabilityStatus is "WithRestrictions" one or more AvailabilityInfo elements are returned to specify the restriction(s) which apply with respect to the requested preferences for this RailService.

If the optional SegmentIDRef is not present, the restriction applies to the RailService in general. If it is present, it only applies to the segment referenced.
0..N
<SegmentIDRef/>
SegmentIDRef refers to the specific segment this restriction applies to. The value of SegmentIDRef refers to:
- for RailPriceRS: the value specified as Segment/@AssociationID in RailPriceRQ.
- for PNRViewRS: the value returned as Segment/ElementNumber in PNRViewRS.

0..1 R01
<Text/>
A description of the restriction which applies with respect to the requested preferences.

1..N Requested seat zone: phone zone Available seat zone: any
</AvailabilityRestriction>
<SegmentIDRef/>
If the RailService was requested for specific segments, one SegmentIDRef is returned for each segment it was requested for.

The values returned as SegmentIDRef refer to the Segment/@AssociationIDvalues in RailPriceRQ.

0..N R01
<Description/>
Short description of this service as returned by the vendor.

1 Ticket with seat reservation
<DescriptionDetails>
Detailed or additional description as returned by the vendor.0..1
<Text/>
1..N Per seat and direction 3.50 EUR (for a maximum of two segments per direction).
</DescriptionDetails>
<ServicePrice>
The price for one "unit" of this RailService. Depending on the type of service, booking the service may actually result in a multiple of the price specified here. If for instance the service is a seat reservation the price may refer to a single seat on a single segment. If the service requested for 2 segments and two travelers the resulting price is for times the price specified here.1
@Total
Total amount for this rail service. Integer value including decimal digits without decimal separator. Number of decimal digits and currency is defined by CurrencyCode/@NumberOfDecimals.

1 2000
</ServicePrice>
<ServiceDate/>
Service date in ISO 8601 format (yyyy-mm-dd). 0..1 2010-12-25
<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).

Each Attribute supported for the @Type of this RailService may be 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>
</FareGroup>
<OptionalServices>
This node is returned when merchandizing options are available for any of the selected flights, regardless of the method used. 0..1
@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.
<CurrencyCode>
Currency code. 0..1 USD
@NumberOfDecimals
Decimal position in fare amount. 1 2
</CurrencyCode>
<RailService>
Each RailService element represents an optional service which may be booked along with the basic fare(s) returned as FareGroup(s). Some RailServices may be mutually exclusive (e.g. @Type "ReservationWithSeats" and "ReservationsSeatsOnly" - see annotation for RailService/@Type in RailPriceRQ).

If SegmentIDRef child elements are returned for a RailService, the RailService may be booked for the specified segments or a subset of these. In this case, when requesting the RailService in subsequent requests (RailsPriceRQ or PNRCreateRQ) the segments for which the RailService is requested must also be specified!

If NO SegmentIDRef child elements are returned for a RailService, the RailService applies globally to the complete fare. Individual segments may not be specifed in subsequent requests.
1..N
@Type
Type of service requested.

[Accommodation] [Internet] [LocalTransit] [Meal] [ReservationSeatsOnly] [ReservationWithSeats] [TicketsByMail] [TicketsSeparateInAndOutbound] [CityTicketOutboundSingle] [CityTicketOutboundDay] [CityTicketInboundSingle] [CityTicketInboundDay] 1 ReservationWithSeat
<SegmentIDRef/>
A reference to a segment this RailService is available for. Its value refers to the Segment/@AssociationID values specified in RailPriceRQ.

0..N R01
<Description/>
Short description of this service as returned by the vendor.

1 Ticket with seat reservation
<DescriptionDetails>
Detailed or additional description as returned by the vendor.0..1
<Text/>
1..N Per seat and direction 3.50 EUR (for a maximum of two segments per direction).
</DescriptionDetails>
<ServicePrice>
The price for one "unit" of this RailService. Depending on the type of service, booking the service may actually result in a multiple of the price specified here. If for instance the service is a seat reservation the price may refer to a single seat on a single segment. If the service requested for 2 segments and two travelers the resulting price is for times the price specified here.1
@Total
Total amount for this rail service. Integer value including decimal digits without decimal separator. Number of decimal digits and currency is defined by CurrencyCode/@NumberOfDecimals.

1 2000
</ServicePrice>
<ServiceDate/>
Service date in ISO 8601 format (yyyy-mm-dd). 0..1 2010-12-25
<ReferenceKey/>
Unique reference key. If present in pricing response messages, must be included.0..1
</RailService>
</OptionalServices>
</RailPriceRS>

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