BT4PT-MultiModalTicketDataV1-0

ASN.1 Extensions

The specification makes use of the ASN.1 extension marker (...). Extensions might be defined in future versions of this specification. Implementations MUST support this extension feature of ASN.1, at least they MUST be able to ignore extensions while decoding the data. ASN.1 extensions will be defined by standards action. Bilateral ASN.1 extensions MUST not be defined.

Bilateral Extensions:

Bilateral extensions can be included in the data element Data. They MUST only be used:

  • to add elements that are not present in the current ASN.1 file (but not to replace them).
  • to add elements that are truly specific. If these elements could be useful to others by being integrated into the current ASN.1 file, the UIC "FCB User Group" SHOULD be engaged to propose their integration into the standard.
  • through a bilateral agreement if they are to be used by others.

It is also recommended to manage these extensions as with the rest of the standard, i.e. by defining them in ASN.1 and storing in extensionData their encoding using the ASN.1 Canonical Unaligned Packed Encoding Rules.

Encoding of date

The issuing date is given in UTC, but some other date values are given in local time where the exact time zone is not known.

For local dates the date is associated with the corresponding location, e.g.:

  • validFrom date: location where the journey starts
  • validUntil date: location where the journey covered by the ticket ends

There could be rare cases where this does not provide a unique interpretation; e.g. open ticket or pass without start and end location for a collection of areas/zones or countries with different time zones. In these cases the fare conditions must clarify the rules for these cases (e.g. by allowing to use the ticket a few hours after the end of validity).

The difference in days is calculated from dates only, ignoring the time and time zone information.

Example 1

Issuing date (UTC): 31.12.2017 23:05 == 01.01.2018 00:05 CET

issuingYear = 2017
issuingDay  = 365
issuingTime = 1385

Local departure date (CET): 01.01.2018 00:15 == 31.12.2017 23:15 UTC

departureDate      = 1   (= 01.01.2018 - 31.12.2017)
departureTime      = 15
departureUTCOffset = -4  (UTC = local + offset * 15 Minutes)

Example 2

Issuing date (UTC): 01.01.2018 00:05 UTC == 31.12.2017 20:05 AST

issuingYear = 2018
issuingDay  = 1
issuingTime = 5

Local departure date (AST): 31.12.2017 22:05 AST == 1.1.2018 02:05 UTC

departureDate      = -1   (= 31.12.2017 - 01.01.2018)
departureTime      = 1325
departureUTCOffset = 16  (UTC = local + offset * 15 Minutes)

departureDate can only become -1 with a departure west of UTC.

Tickets might cover multiple time zones where validFrom and validUntil is not linked to a specific time zone (e.g. Eurail Pass valid for whole Europe). In this case, the date times are to be interpreted as local at the actual place where the traveler is and the ticket is checked. The utcOffset must not be provided for these local date times.

It is RECOMMENDED not to use the utcOffset until there is a need to do so.

Module Info

Reference
BT4PT-MultiModalTicketDataV1-0
Numeric OID
1.3.6.1.4.1.17218.1.2.3.1.0

Imports

Assignments

MultiModalTicket

MultiModalTicket is the basic entry point of the data structure. Its data include:

  • issuer information (this is the only mandatory information)
  • information on the travelers independent from the transport document
  • information on the group
  • the details of the transport document
  • information required for the control process
  • proprietary extensions
SEQUENCE

This sequence contains the following fields:

issuingDetail

Details about how this ticket was issued, and by whom.

IssuingData
traveler Optional

Traveler data. MUST NOT be present unless personal data about the travelers is needed and legally permitted. The index of the sequence elements can be used to identify the traveler within other contexts (e.g. in assigned tariffs).

SEQUENCE OF Traveler
groupDetails Optional

Group details. Present if the traveler is a member of a group, otherwise omitted. If this field is set, all group members MUST be travelling together.

GroupDetails
transportDocument Optional

Data of the transport documents. Only one element SHOULD be a transportProduct, the others being associated documents. (e.g. associated commercial card, associated tokens, associated carCarriage, vouchers...)

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

DocumentData
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
MultiModalTicketExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

MultiModalTicketExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

MultiModalTicketConstraints

If a member is not present, then there are no constraints on that value.

SEQUENCE

This sequence contains the following fields:

issuer Optional
CompanyConstraint
securePaperTicket Optional
SecurePaperTicket
issuingExtensions Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
IssuingDataExtensions
mandatoryOnlineValidation Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

controlExtensions Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
ControlDataExtensions
carriers Optional
CompanyConstraint
serviceBrands Optional
SEQUENCE OF INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32000

transportTypes Optional
SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 31

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 31

products Optional
SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 32

ProductRestriction
transportDocument Optional
DocumentConstraints

ProductRestriction

SEQUENCE

This sequence contains the following fields:

owner

Restriction on the product owner.

CompanyConstraint
id Optional

Restriction on the exact product ID. If unset, any product of the owner is permitted.

SEQUENCE

This sequence contains the following fields:

id
GenericId
format Default value defined

Indication whether to match on the prefix, suffix, or the full product ID.

IdFormat

This field, when unset, defaults to the following value: full

IssuingData

Details of the issuer and the issue of the ticket.

  • Details of the issuer
  • Indication of test tickets (specimen)
  • Retail information
  • Proprietary extension data
SEQUENCE

This sequence contains the following fields:

issuer Optional

Issuer of the binary content of the transport document, if different from the security provider as encoded in the barcode header.

CompanyCode
issuedAt
Timestamp
saleId

A unique identifier for the sale transaction that caused this ticket to be issued.

GenericId
specimen

Specimen indicates a test specimen not valid for traveling.

BOOLEAN
securePaperTicket
SecurePaperTicket
currency Default value defined

Currency of the price - ISO 4217 numeric currency code. Default 978 = Euro.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 999

This field, when unset, defaults to the following value: 978

currencyFract Default value defined

Fraction of the prices included.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 3

This field, when unset, defaults to the following value: 2

issuedOnBoard Optional

Location of sale (transport number and/or line number) in case of a sale on board of a transport.

SEQUENCE

This sequence contains the following fields:

transport Optional

Identifier of a specific journey, e.g. the running number of an individual train service.

TransportId
line Optional

Identifier of the general route, e.g. a train running as an RE1 service.

LineId
productRetail Optional

Information about how the document was sold.

ProductRetailData
preferredLanguage Optional

Language that the traveler / group of travelers prefer to be spoken to in. IANA language subtag of the language (see: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).

VisibleString

This type is constrained in the following way:

Intersection

All the following must be true:

Size

The length of the value must exactly: 2

AND

Permitted alphabet

The characters in the string value must satisfy the following constraint:

Range

The value must be greater than or equal to: a

The value must be less than or equal to: z

extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
IssuingDataExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

IssuingDataExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

SecurePaperTicket

Secure paper indicates that this barcode is issued with a secure paper ticket to ensure the uniqueness of the ticket. This allows to use the same control procedure as for e-tickets also for anonymous tickets. The double use of the ticket is in this case excluded by the secure paper.

ENUMERATED

The value of this enumeration may have one of the following values:

notOnSecurePaper

Value: 0

onSecurePaper

Value: 1

onSecurePaperValidationStampRequired

Value: 2

The ticket is only valid if additionally physically stamped (DE: Entwerten)

ProductRetailData

Data allowing to describe possible information about product retail, i.e. how it was sold.

SEQUENCE

This sequence contains the following fields:

retailerId Optional

Identifier of the company that is the retailer for this contract of carriage, as per the definition of a retailer in ISO 24014-1.

CompanyCode
retailServerId Optional

Retailer specific identifier of the server that sold the contract of carriage.

GenericId
retailGeneratorId Optional

Retailer specific identifier of the ticket generation platform. If omitted, identical to retailServerId.

GenericId
retailChannel Optional

Channel through which the traveler requested the contract / the barcode.

RetailChannel
retailEquipmentType Optional

Type of equipment that distributed the contract / the barcode (code table of the product retailer).

GenericId
retailPointId Optional

Identifier of the final distribution point of the barcode (code table of the product retailer).

GenericId
retailTraceability Optional

Traceability information linked to the barcode or contract generation (e.g. name and version of the generation software) (code table of the product retailer).

VisibleString

DocumentData

The choice on the different transport documents that can be included in the bar code data:

  • universal transport product
  • voucher
  • customer card (including bonus cards and reduction cards)
  • parking ground tickets
  • station access / station passage tickets
  • delay confirmation
  • token
  • proprietary documents as an extension
CHOICE

The value of this choice may be one of the following:

transportProduct

Universal transport product. Can be used for tickets (incl. FIP), passes, reservations, countermarks.

TransportProduct
voucher

Voucher of monetary value.

Voucher
customerCard

Simple customer card either to identify a customer and / or to provide reductions or loyalty. For detailed or complex commercial cards (e.g. valid only on a specific OD), use transportProduct instead.

CustomerCard
parkingGround

Standalone car parking slot. For parking as a part of a more global journey, use transportProduct instead.

ParkingGround
stationPassage

Ticket to pass the gates at a station.

StationPassage
delayConfirmation

Delay confirmation.

DelayConfirmation
token

Token (e.g. for ABT).

Token
extension

Proprietary data defined bilaterally.

Data

This type is concretely parameterised with the following:

ElementSet
ProprietaryDocumentTypes

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

ProprietaryDocumentTypes

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

DocumentConstraints

If the relevant document type constraint is not present, the certificate is not permitted to issue such a document.

SEQUENCE

This sequence contains the following fields:

transportProduct Optional
TransportProductConstraints
voucher Optional
VoucherConstraints
customerCard Optional
CustomerCardConstraints
parking Optional
ParkingConstraints
stationPassage Optional
StationPassageConstraints
delayConfirmation Optional
DelayConfirmationConstraints
token Optional
TokenConstraints
proprietary Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
ProprietaryDocumentTypes

TransportProduct

Description of a transport product, which may be:

  • A 'ticket' allowing the use of a transportation service.
  • A 'reservation' assigning a place in a transport, but not allowing travel unless accompanied by a ticket.
  • A 'commercial card' granting benefits when purchasing a ticket.
  • A 'proprietary' product which is very specific, in case none of the above choices apply.

The type of the product is indicated by generalConditions.product.

SEQUENCE

This sequence contains the following fields:

geoValidity Optional

Geographical validity of the transport product. This validity is described through successive segments that make up the route. Omitted if the transport product is a 'reservation' (the concerned segment or transport being described by generalConditions.transportService.reservation)

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

GeoValiditySegment
returnGeoValidity Optional

To be provided in case the return route differs. Omitted if the transport product is a 'reservation'.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

GeoValiditySegment
generalData Optional

General data that applies to all segments of this transport product. Mandatory if the transport product is a 'reservation' (this product being a reservation being described through this element).

SegmentData
segmentData Optional

Data that applies to only certain segments of this transport product. If a particular condition is defined in both the general and the general data, the one in specific data overrules the one in the general data.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 32

SegmentData
conditions Optional

Where multiple applicable elements reference conditions, all referenced conditions are cumulative and SHALL all be satisfied unless explicitly specified otherwise.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 32

Conditions
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
TransportProductExtensions

This type is constrained in the following way:

Intersection

All the following must be true:

Union

Any of the following can be true:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
generalData Must be present

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
productVariety Must be present No stipulation
coveringArea Must be present No stipulation

OR

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
segmentData Must be present No stipulation

AND

Union

Any of the following can be true:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
geoValidity Must be present No stipulation

OR

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
geoValidity Must be absent No stipulation
generalData Must be present

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
transportService Must be present

Fields

The type must satisfy exactly the following field constraints, no other fields are permitted:

Field Presence Value
reservation Must be present No stipulation

TransportProductExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

TransportProductConstraints

SEQUENCE

This sequence contains the following fields:

varietyTicket Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

varietyReservation Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

varietyCommercialCard Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

varietyProprietary Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

permittedArea Optional

Every coveringArea asserted by the transport product MUST be wholly contained within at least one area in permittedArea.

SEQUENCE OF NUTSArea
permittedNetwork Optional

Every coveringNetwork asserted by the transport product MUST be in the permittedNetwork list.

SEQUENCE OF GenericCode

This type is concretely parameterised with the following:

IdType
GenericId
TableSet
NetworkCodeTables
extension Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
TransportProductExtensions
conditionsExtension Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
ConditionsExtensions

GeoValiditySegment

Specification of the geographical validity of one segment of the whole journey.

SEQUENCE

This sequence contains the following fields:

description Optional

Human readable description of the segment.

UnicodeText
validitySegment

Geographical description of the segment.

GeoValidity
appliedSegmentDataIndex Optional

The specific data are in TransportProduct.segmentData. This list is 1 indexed.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32

GeoValidity

Specification of the geographical validity for a segment.

CHOICE

The value of this choice may be one of the following:

pointBased

A journey described by a series of routing points. Can be as simple as origin/destination, or as complex as allowing multiple origins, multiple destinations, alternative routes, etc.

PointBasedRoute
area

Validity defined with areas/zones.

Area
line

Set of authorized transport lines.

Line
polygon

Area defined using geocoordinates.

Polygon
parking

Parking right (for a car, a bike...).

Parking
sharedVehicle

Access to a shared vehicle service.

SharedVehicle
perConditions

No specific geographic validity beyond the coveringArea, included carriers, and other conditions.

NULL
proprietary

Specific proprietary geographical validity in case the above predefined types do not allow it to be described.

Data

This type is concretely parameterised with the following:

ElementSet
GeoValidityExtensions

GeoValidityExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

PointBasedRoute

Includes a description of the route by via stations. Via stations follow the description in leaflet 108.1:

  • Via stations can be mandatory to pass, but there does not need to be a stop at these stations: visible route description: "station"
  • There can be a list of alternative routes: visible route description: "(station1/station2)"
  • There can also be alternative routes: "(station1station2/station3station4)" although the definition in 108.2 is not very precise on this option
SEQUENCE

This sequence contains the following fields:

routeItem
SEQUENCE OF RouteItem
appliedConditionsIndex Optional

In case different break of service allowances, different carriers, different service brands, etc. need to be indicated on the routes or alternative routes. Index into TransportProduct.conditions. The first element has index 1.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32

RouteItem

CHOICE

The value of this choice may be one of the following:

destinationStationOfPreviousSegment

The route item is the destination station from the previous GeoValiditySegment (not the previous PointBasedRoute).

NULL
station

The route item is a specific station.

Station
stationSet

The route item is a set of stations that are equivalent (OSDM: FareStationSet).

StationSet
area

The route item is any point that is within at least one of the specified areas.

AreaSet
route

In case conditions/break of journey restrictions need to be applied only to part of a route.

PointBasedRoute
alternativeRoutes

A list of alternative routes - one, and only one, of these has to be taken.

SEQUENCE OF PointBasedRoute

Area

Geographical validity defined with areas/zones.

SEQUENCE

This sequence contains the following fields:

area Optional

Description of the allowed areas/zones. The areas described in restrictedEntry:area and/or restrictedExit:area (if any) must not be repeated in the included or excluded areas. If restrictedEntry is absent, the journey can begin anywhere in the allowed areas/zones. If restrictedExit is absent, the journey can end anywhere in the allowed areas/zones. If restrictedEntry and restrictedExit and area are present, the allowed areas/zones are only transit areas/zones: the traveler is allowed to cross them, but may neither begin nor end their journey in them. If restrictedEntry and restrictedExit are present, and area is absent, there are no specific restrictions on how to travel from restrictedEntry to restrictedExit (the only restrictions that apply are those described by the applicable Conditions).

CHOICE

The value of this choice may be one of the following:

included

The allowed areas/zones are those explicitly described in this field.

AreaSet
excluded

The allowed areas/zones are all the areas/zones of the applicable coveringArea element, except those described in this element, in restrictedEntry and in restrictedExit.

AreaSet
areaNameUTF8 Optional

Readable name of the area of validity.

UnicodeText

Line

Geographical validity using a set of lines

SEQUENCE

This sequence contains the following fields:

lineIds
CHOICE

The value of this choice may be one of the following:

included
SEQUENCE OF LineId
excluded
SEQUENCE OF LineId
entryStation Optional

In case the line must be entered via a specific station.

StationSet
terminatingStation Optional

In case the line must be left via a specific station.

StationSet

Polygon

Geographical validity defined as a polygon.

SEQUENCE

This sequence contains the following fields:

edges
SEQUENCE OF GeoPosition

SharedVehicle

Access to a shared vehicle service, e.g. car sharing or bike/e-scooter rental

SEQUENCE

This sequence contains the following fields:

carriers

Shared vehicle providers that this entitlement covers

SEQUENCE OF CompanyCode
numberOfVehicles Default value defined

The number of individual vehicles included in this entitlement

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 16

This field, when unset, defaults to the following value: 1

vehicleTypes

Which kinds of shared vehicles are included in this entitlement An empty list means no constraint.

SEQUENCE OF SharedVehicleType
collectionStation Optional

The vehicle must be collected from this station.

Station
returnStation Optional

The vehicle must be returned to this station.

Station
allowedTime Optional

Included amount of time allowed to access a shared vehicle, if more restrictive than the validity period. If present, indicates that the entitlement is valid for a given amount of time within the validity period. If present, the count of the remaining number of allowed days or minutes is centrally held in a back office, that MUST be queried to verify whether the traveler still has any remaining time. Whether an operator allows the traveler to pay additionally for more time once the allotted time is up is per local operator policy.

CHOICE

The value of this choice may be one of the following:

days
INTEGER
minutes
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 1439

infoText Optional

Additional readable information that cannot be described using the other elements.

UnicodeText
extension Optional
SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
SharedVehicleExtensions

SharedVehicleExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

SharedVehicleType

SEQUENCE

This sequence contains the following fields:

variety

An empty list means any value.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 0

The length of the value must be less than or equal to: 15

SharedVehicleVariety
propulsion

An empty list means any value.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 0

The length of the value must be less than or equal to: 15

SharedVehiclePropulsionType
returnConstraint

An empty list means any value.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 0

The length of the value must be less than or equal to: 15

SharedVehicleReturnConstraint

SegmentData

Information about each segment of the transport product.

  • if used for generalData: applies to the entire transport product.
  • if used for segmentData: applies to the associated segment.
SEQUENCE

This sequence contains the following fields:

productVariety Optional

Detailed type of the transport product (ticket, reservation, commercial card...). Each GeoValiditySegment MUST have a set productVariety, either through the generalData or a referenced segmentData.

ProductVariety
coveringArea Optional

NUTS codes covering the whole area of validity of the ticket. This does not mean that the ticket is valid everywhere inside such areas, but that it definitely is NOT valid outside the covering area. Each GeoValiditySegment MUST have a set coveringArea, either through the generalData or a referenced segmentData. Tickets without a coveringArea on every segment MUST be rejected as malformed tickets. Validity to specific services, transport modes, etc., may be further constrained by other conditions. Examples:

  • An international ticket from Munich to Vienna has the covering areas of DE and AT
  • A ticket valid on buses in the Saarland has a covering area of DEC
  • A ticket valid on the tram in Kehl and Strasbourg has the covering areas of DE134 (Ortenaukreis) and FRF11 (Bas-Rhin) n.b. a NUTS Local Administrative Units (LAU) could be further appended, e.g. DE13408317057 for Kehl, Stadt.

When comparing, the ticket validator compares the covering area of the service the ticket is being validated on (service area) with each covering area element in the ticket, truncating both to the shortest of either. For example, with a service area DE2 (a service running in Bavaria), DE (all of Germany) and DE212 (Munich) match, but DE3 (Berlin) does not.

SEQUENCE OF NUTSArea
coveringNetwork Optional

Once a validator narrowed down the possibly valid geographic segments it MAY further narrow down segments by using the coveringNetwork field. This encodes the IDs of transport networks that COULD be involved in the fulfillment of transport contract. There is no requirement to use this field if the coveringArea adequately narrows down the possibly valid segments. Examples:

  • In France, the codeTable of national can be used to refer to an Afnor network/region ID, e.g. to refer to the Maconnais Beaujolais Agglomération: { codeTable national : 250, id idNum : 145 }
SEQUENCE OF GenericCode

This type is concretely parameterised with the following:

IdType
GenericId
TableSet
NetworkCodeTables
product Optional

Identification of the product (owner, id, textual description).

Product
productFamily Optional

Family of the product, allowing to process the product according to its family. Value according to the product owner.

GenericId
directionIsMandatory Optional

TRUE if the direction of travel must be followed as described:

  • in generalData: the traveler must pass the sequence of segments in the provided order (but some segments may be skipped, e.g. if 2 segments are 2 allowed alternatives for the same journey).
  • in segmentData: the traveler must take the transport in the direction indicated by the segment (e.g. from O to D).

FALSE if the direction of travel is not mandatory:

  • in generalData: the traveler can travel through the described segments in any order.
  • in segmentData: the traveler can take the transport indicated by the segment in any direction (e.g. from O to D or from D to O).

Omitted if the concept of direction is not relevant (e.g. for geographical validity as unordered areas).

BOOLEAN
transportService Optional

Link to a specific transport services. Note that for a return ticket where the outbound and inbound geographic validates are the same, and thus the returnGeoValidity is not encoded, this field encodes linked transport services for both the outbound and inbound directions.

CHOICE

The value of this choice may be one of the following:

transportLink

Link to a specific transport service without reservation. If present, using this transport service is mandatory.

SEQUENCE OF TransportLink
reservation

Link to a specific transport service with reservation. A reservation does not mandate taking the reserved service.

SEQUENCE OF ReservationSegment
tariff Optional

Tariff data (allowed passengers characteristics, discount cards used...) If omitted, the ticket is valid:

  • for all of the travelers described in the traveler section if this section is present,
  • for one passenger (without any further information) if the traveler section is absent.
SEQUENCE OF Tariff
controlData Optional

Specific data to support the ticket inspection process.

ControlData
token Optional

Associated online identifier (e.g. Account Based Ticketing identifier).

Token
activation Optional
Activation
appliedConditionsIndex Optional

Index into TransportProduct.conditions. The first element has index 1.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32

NetworkCodeTables

OBJECT SET

This object set has the following members:

&table
SEQUENCE
owner
Choice variant national 250
version
0
Other members may be added at runtime.

ControlData

Data supporting the control process, whether it is an automatic check carried out by a gate, or a manual check carried out by an inspector.

SEQUENCE

This sequence contains the following fields:

ticketControlNumber

ID to uniquely identify this barcode within the context of the issuer and an appropriate time range. This can be used to query the ticket in the eTCD.

GenericId
onlineValidationRequired Default value defined

Indicator of whether online validation of the ticket is required.

OnlineValidationStatus

This field, when unset, defaults to the following value: notPossible

onlineValidationType Optional

Indicator of how online validation may be performed.

OnlineValidationType
identificationRequired Default value defined

Indicator of whether ID must be checked to identify the traveler. Field meaning:

  • FALSE: don’t check ID documents at all, regardless of contents of the traveler's identificationDocument field.
  • TRUE, but with an empty identificationDocument field: check the traveler's identity, using whatever document is acceptable to the carrier.
  • TRUE, with an identificationDocument field: check the traveler's identity, using the identification document specified.
BOOLEAN

This field, when unset, defaults to the following value: FALSE

ageCheckRequired Default value defined

Indicator of whether validation of the traveler age is required (e.g. in case of reductions).

BOOLEAN

This field, when unset, defaults to the following value: FALSE

reductionCardCheckRequired Default value defined

Indicator of whether validation of the travelers reduction card is required (e.g. in case of reductions).

BOOLEAN

This field, when unset, defaults to the following value: FALSE

linkedTickets Optional

Tickets, that are not encoded in this ticket, which need to be controlled together with this ticket to form a valid ticket.

SEQUENCE OF TicketLink
infoText Optional

Free text instructions for specific control instructions to be presented to the ticket controller where these instructions can't be expressed in structured data, e.g. "Verify no more than two people over 18" on a family group ticket.

UnicodeText
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
ControlDataExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

ControlDataExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

OnlineValidationStatus

ENUMERATED

The value of this enumeration may have one of the following values:

notPossible

Value: 1

No information is available online so it is useless to check.

optional

Value: 2

The ticket can be fully validated and checked offline, i.e. the ticket contains all the information necessary for validation and inspection and is therefore self-sufficient, but some operators, in an interoperability scenario, nevertheless choose to operate this ticket in ABT mode and validate it online.

mandatory

Value: 3

Online operations MUST be performed to validate or check this ticket, e.g.:

  • For a Pay-as-you-go ticket, check during inspection that it has been validated.
  • For a ticket valid for 3 hours from the first validation, check when this first validation took place.
  • For a fully ABT (Account Based Ticketing) document: check the details of the ticket in the ABT account (whose ID may be specified in 'token').
  • For a ticket authorizing a limited number of trips: check how many trips have already been made.
  • For a ticket that can be refunded until the last moment: check if the ticket has been cancelled and refunded.

OnlineValidationType

CHOICE

The value of this choice may be one of the following:

eTCD

The ticket may be checked against the UIC's eTCD.

NULL
securityProviderProprietary

The ticket may be checked against a proprietary platform of the security provider; e.g. the Deutschlandtarifverbund's security portal.

NULL
issuerProprietary

The ticket may be checked against a proprietary platform of the issuer; e.g. bwegt check-in check-out (Baden-Württemberg).

NULL
external

The ticket may be checked against the platform operated by the specified company; e.g. Entur.

CompanyCode
other

The ticket may be checked against some other external platform, as identified by the string. It can be of the following forms:

  • + + [2-letters uppercase ISO 3166 country code] + [addon, chosen by the national standards body of that country]
  • _ + [RICS or ERA Organisation Code] + [addon, chosen by this company]
  • !I + [addon, chosen by the issuer] - equivalent to the _RICS format, without repetition of the issuer's code.
  • !C + [addon, chosen by the carrier] - equivalent to the _RICS format, without repetition of the carriers' code.
  • !P + [addon, chosen by the product owner] - equivalent to the _RICS format, without repetition of the product owner's code.
  • * + [addon] - private use, not guaranteed to avoid clashes.

Any other value only after registration in the appropriate registry. Unregistered values (outside of the national, company, and private use ranges) MUST NOT be used. If an organisation has a RICS or an ERA Organisation Code the private use format MUST NOT be used. All values SHOULD be registered via the UIC Github repository.

VisibleString

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

This type is constrained in the following way:

Table

The value must come from the &id column of the object set: OnlineValidationMethods

ONLINE-VALIDATION-METHOD

OBJECT CLASS

This object class has the following fields:

&id

This field accepts any value of the following type:

VisibleString

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

This field must be unique within an object set.

&name

This field accepts any value of the following type:

UTF8String

OnlineValidationMethods

OBJECT SET

This object set has the following members:

&id &name
Other members may be added at runtime.

Activation

SEQUENCE

This sequence contains the following fields:

activatedDay Optional

List of activated days in case the entire ticket is not activated. The ticket can only be used on the days it is activated. If the ticket is a return ticket, activatedDay only applies to the outward journey (use activatedReturnDay for the return journey). Each day is given by the number of days from the first day of validity (validFrom) (0 = first day of validity). For each day that the ticket is activated, the activation is valid from 00:00 to 23:59 in the time zone of the traveler's current location, thereby the activation might include more or less than 24 hours in case time zone borders are crossed. Travel days of a ticket might be subject to a separate activation to be valid for traveling. Omitted if there are no restrictions on days of use between validFrom and validUntil.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 501

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 500

activatedReturnDay Optional

In case of a return ticket only: list of activated days for the return journey. Same use as activatedDay but for the return journey Omitted if there are no restrictions on days of use between validFrom and validUntil for the return journey.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 501

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 500

Conditions

Information about the validity conditions of a whole transport product, a segment thereof, or a specific tariff.

SEQUENCE

This sequence contains the following fields:

validFrom Optional

Having no validFrom is allowed (e.g. ticket not yet activated, which will be reissued with an explicit validFrom upon activation). Having no validUntil is allowed (e.g. ticket with unlimited validity - which should nevertheless have a security expiry date in the header requiring regular reissue).

ValidFrom
validUntil Optional
ValidUntil
rareTimingConditions Optional
RareTimingConditions
breakOfJourney Default value defined

Whether the traveler may voluntarily interrupt the journey and continue it later.

This does not restrict changes between transport services that are necessary to continue the journey.

BOOLEAN

This field, when unset, defaults to the following value: TRUE

includedServiceVarieties Optional

Carriers/modes of transport included in this ticket.

SEQUENCE OF TransportVariety
excludedServiceVarieties Optional

Carriers/modes of transport excluded from this ticket. In case includedServiceVarieties is not provided, the ticket is valid on all services in its coveringArea and coveringNetwork, except those in this field. If includedServiceVarieties is specified, then the exclusions are processed logically after any inclusions. That is, even if the ticket conditions include a service, an exclusion overrides that.

SEQUENCE OF TransportVariety
classCode Default value defined

Travel class. For transport modes where the concept of class does not exist, this field MUST be set to notApplicable.

TravelClass

This field, when unset, defaults to the following value: second

fareCode Optional

Per TEL TSI Code List B.5.308.

VisibleString

This type is constrained in the following way:

Intersection

All the following must be true:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 2

AND

Permitted alphabet

The characters in the string value must satisfy the following constraint:

Union

Any of the following can be true:

Range

The value must be greater than or equal to: A

The value must be less than or equal to: Z

OR

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 9

reductionCard Optional

Reduction cards applied (incl. discount cards, loyalty cards relevant for the tariff). To require verification of these cards during an inspection, use ControlData.reductionCardCheckRequired. Omitted if these cards have already been verified at the time of purchase and their verification is not requested during inspection.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

CardReference
rareDetails Optional
RareDetails

TransportVariety

An identifier for the variety of transport included in/excluded from ticket conditions. The fields in this SEQUENCE are to be ANDed together as part of matching. That is, if ticket includes a transport variety with both carrier eraCode : "1080" and transportType 10 set, then it is only valid on high-speed trains operated by the Deutsche Bahn.

SEQUENCE

This sequence contains the following fields:

carrier Optional
CompanyCode
transportType Optional

Per EN 1545-1 (transport type code).

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 31

serviceBrand Optional

Per TEL TSI Code List B.4.7009.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32000

RareTimingConditions

Rare temporal details and conditions.

SEQUENCE

This sequence contains the following fields:

validUntil Optional

Extended validity for tickets valid up to just over 5 years. If this element is used, the eponymous element in Conditions MUST NOT be used. For security reasons, such a long lasting ticket should:

  • either have a shorter security expiry date set in the header and be regularly reissued,
  • or integrate other countermeasures such as Security In Paper and/or the use of a dedicated key.
ExtendedValidUntil
validFromUTCOffset Optional

Offset in units of 15 minutes from local time to UTC (UTC = local + offset * 15 Minutes). The UTC offset can be used to calculate the duration of the travel. If UTC offset is used in control devices the usage of UTC offset has to be agreed bilateral to be mandatory. Times to be shown on a ticket should always be the local times.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -60

The value must be less than or equal to: 60

validUntilUTCOffset Optional

Offset in units of 15 minutes from local time to UTC (UTC = local + offset * 15 Minutes). The UTC offset can be used to calculate the duration of the travel. If UTC offset is used in control devices the usage of UTC offset has to be agreed bilateral to be mandatory. Times to be shown on a ticket should always be the local times. Omitted in case it is the same as validFromUTCOffset.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -60

The value must be less than or equal to: 60

includedTimeRanges Optional

In case included time ranges are defined, the validity is restricted to these ranges.

SEQUENCE OF IncludedTimeRanges
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
TimingExtensions

TimingExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

RareDetails

Rare non-temporal details and conditions.

SEQUENCE

This sequence contains the following fields:

price Optional

Price of the transport product (if in generalConditions) or of the segment (if in specificConditions), in the currency and fraction defined in IssuingData.

INTEGER
conditionText Optional

To be used in case of special conditions that can only be provided as a readable text, e.g. that Interrail is valid on a night train continuing into the following day. For specific control instructions that should be brought to the attention of the ticket checker, use ControlData.infoText.

UnicodeText
luggage Optional

In case the luggage restrictions are general and do not depend on the ticket type they should not be included.

LuggageRestriction
countryValidity Optional

Validity restriction based on the traveler's country of residence. (e.g. for Eurail tickets that are not valid in the country of residence). This field does not indicate a global geographic validity, but only a possible restriction of this geographic validity related to the country of residence. Omitted if there is no restriction related to the traveler's country of residence.

CountryValidity
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
ConditionsExtensions

ConditionsExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

Car

Information for linking a car to a reservation

SEQUENCE

This sequence contains the following fields:

vehiclePlate

Unless spaces form an integral part of identifying a plate, they MUST NOT be included. E.g. a German car with the plate SB[TÜV Sticker]A 123 SHALL be encoded as SB-A123. Dutch duplicate codes MUST NOT be encoded, i.e. the small number above the first dash does not form part of the plate.

The plate SHOULD be represented in the Latin alphabet and Arabic numerals where possible, but note that this isn't always possible, e.g. the registration district of a Chinese plate.

The country of registration MUST NOT be encoded in the plate.

UnicodeText
trailerPlate Optional
UnicodeText
carCategory

Per TEL TSI Code List B.5.29.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 8

boatCategory Optional

Per TEL TSI Code List B.5.29.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 8

textileRoof
BOOLEAN
roofRack Default value defined
RoofRack

This field, when unset, defaults to the following value: norack

roofRackHeight Optional

Height of a roof rack in cm.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 99

attachedBoats Optional

Number of boats on a rack.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 2

attachedBicycles Optional

Number of bicycles on a rack.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 4

attachedSurfboards Optional

Number of surf boards on a rack.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 5

loadingListEntry Optional

Reference to an entry on the loading list.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 999

loadingDeck Optional
LoadingDeck
beginLoading

Loading of the car in local date and time at the loading station. Number of the days calculated from the issuing date.

ValidFrom
endLoading Optional
ValidUntil

DepartureDateTime

Type definitions used in TransportLink and ReservationSegment.

SEQUENCE

This sequence contains the following fields:

departureDate Default value defined

Departure date and time in local time at the departure station. Number of days counted from the issuing date.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -1

The value must be less than or equal to: 500

This field, when unset, defaults to the following value: 0

departureTime
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

departureUTCOffset Optional

Offset in units of 15 minutes from local time to UTC (UTC = local + offset * 15 minutes). The UTC offset can be used to calculate the duration of the travel. Times to be shown on a ticket should always be the local times.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -60

The value must be less than or equal to: 60

DepartureWindow

SEQUENCE

This sequence contains the following fields:

startOfWindow

The date and time the departure window begins at.

DepartureDateTime
windowLengthDays Default value defined

How many full days onwards from the start of the window does it continue.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 30

This field, when unset, defaults to the following value: 0

windowLengthMinutes

How many minutes onwards from the start of the window does it continue.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

ArrivalDateTime

SEQUENCE

This sequence contains the following fields:

arrivalDate Default value defined

Arrival date and time in local time at the arrival station. Number of days counted from the departure date.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -1

The value must be less than or equal to: 30

This field, when unset, defaults to the following value: 0

arrivalTime Optional
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

arrivalUTCOffset Optional

Offset in units of 15 minutes from local time to UTC (UTC = local + offset * 15 minutes). Should be omitted in case it is the same as for departure. The UTC offset can be used to calculate the duration of the travel. Times to be shown on a ticket should always be the local times.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -60

The value must be less than or equal to: 60

ArrivalWindow

SEQUENCE

This sequence contains the following fields:

startOfWindow

The date and time the arrival window begins at.

ArrivalDateTime
windowLengthDays Default value defined

How many full days onwards from the start of the window does it continue.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 30

This field, when unset, defaults to the following value: 0

windowLengthMinutes

How many minutes onwards from the start of the window does it continue.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

ReservationSegment

Describes a reservation associated to a route, or to a part of a route. Usable for a standalone reservation and for a reservation linked to a leg.

SEQUENCE

This sequence contains the following fields:

mandatoryService Default value defined

TRUE if using this transport service is mandatory. FALSE if the traveler can use another transport service.

BOOLEAN

This field, when unset, defaults to the following value: TRUE

originStation Optional

Station where the reservation begins. Omitted if it is the same station as the origin station of the associated segment.

Station
destinationStation Optional

Station where the reservation ends. Omitted if it is the same station as the destination station of the associated segment.

Station
transportNumber Optional

Transport number (=service number, train number).

TransportId
departureDateTime Optional

Departure date and time in local time at the departure station. If omitted, departureDateTime is assumed to be equal to validFrom and validFromUTCOffset of the container object.

DepartureDateTime
arrivalDateTime Optional

Arrival date time in local time at the arrival station. If omitted, arrivalDateTime is assumed to be equal to validUntil and validUntilUTCOffset of the container object.

ArrivalDateTime
classCode Default value defined

For transport modes where the concept of class does not exist, this field MUST be set to notApplicable. Omitted if the class is the same as the class of the associated leg.

TravelClass

This field, when unset, defaults to the following value: second

serviceBrand Optional

Omitted if this specific service brand is already specified in the associated leg, and is the only one that is specified for this leg (a leg can allow many service brands, but a reservation only specifies one). Per TEL TSI Code List B.4.7009.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32000

fareCode Optional

Per TEL TSI Code List B.5.308. Omitted if the same fare code is already specified in the description of the associated leg.

VisibleString

This type is constrained in the following way:

Intersection

All the following must be true:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 2

AND

Permitted alphabet

The characters in the string value must satisfy the following constraint:

Union

Any of the following can be true:

Range

The value must be greater than or equal to: A

The value must be less than or equal to: Z

OR

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 9

service Default value defined

Per TEL TSI B.5.

ServiceType

This field, when unset, defaults to the following value: seat

coachPlaces Optional

Reserved places.

SEQUENCE OF CoachPlaces
numberOfOverbooked Optional

Number of persons on the ticket having a reservation without assigned places.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 200

berth Optional

Description of berths.

SEQUENCE OF BerthDetailData
cars Optional

When a reservation includes transportation of a car, this field is used to include details of the booked car or cars.

SEQUENCE OF Car

GroupDetails

Data for groups of travelers

SEQUENCE

This sequence contains the following fields:

isGroupParticipantCard

TRUE if this ticket is the participant card (= countermark) only, not valid without the real ticket of the ticket holder. In case participant cards are used, all members of the group except the ticket holder (group leader) MUST have this field set to TRUE. Additionally, linkedTickets SHOULD be set to the ticket of the group leader. FALSE if this ticket is the real ticket from the group leader.

BOOLEAN
groupName Optional

Readable name of the group in case of a group ticket.

UnicodeText

ValidFrom

Types describing temporal conditions, used in several other type definitions

SEQUENCE

This sequence contains the following fields:

validFromDay Default value defined

Date/time validity in local time of the location where the journey starts. Number of days from issuing date (-398 allows reissuing the ticket up to 13 months after the start of its validity, 800 allows issuing the ticket up to 2 years in advance).

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -398

The value must be less than or equal to: 800

This field, when unset, defaults to the following value: 0

validFromTime Default value defined

In case UTC offset is provided (NOT RECOMMENDED) the local date time is the time zone of validity region. The region where the ticket is valid MUST not cover more than one time zone. In case no UTC offset is provided (RECOMMENDED) the local date time is the time zone of the current location of the traveler.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

This field, when unset, defaults to the following value: 0

ValidUntil

SEQUENCE

This sequence contains the following fields:

validUntilDay Default value defined

Date/time validity in local time of the location where the journey ends. Number of days from validFrom date, 0 = validUntilDay is equal to the first day of validity.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -1

The value must be less than or equal to: 500

This field, when unset, defaults to the following value: 0

validUntilTime Default value defined
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

This field, when unset, defaults to the following value: 1439

ExtendedValidUntil

SEQUENCE

This sequence contains the following fields:

validUntilDay

Extended date/time validity (up to just over 5 years) in local time of the location where the journey ends. Number of days from validFrom date.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 501

The value must be less than or equal to: 2000

validUntilTime Default value defined
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

This field, when unset, defaults to the following value: 1439

IncludedTimeRanges

Time range when a product can be used. Use case examples:

  • School transport pass valid Monday through Friday, between 07:00 and 19:00, whether it is a pollution day or not, but not on public holidays: { allowedWeekdays { monday TRUE, tuesday TRUE, wednesday TRUE, thursday TRUE, friday TRUE, saturday FALSE, sunday FALSE }, specialDays { nationalHolidays FALSE, stateHolidays FALSE, countyHolidays FALSE, localHolidays FALSE }, includedTimeRange { { fromTime 420, untilTime 1440 } } }
  • Tourist week-end pass valid every Friday-Saturday-Sunday, whether it is a special day or not: { allowedWeekdays { monday FALSE, tuesday FALSE, wednesday FALSE, thursday FALSE, friday TRUE, saturday TRUE, sunday TRUE } }
  • Pollution ticket valid only on pollution days: { specialDays { pollutionDay TRUE } }
SEQUENCE

This sequence contains the following fields:

allowedWeekdays Optional

Days of the week when the product can be used. For each day of the week:

  • TRUE means the corresponding day is allowed.
  • FALSE means the corresponding day is forbidden.

However, this authorization MUST take specialDays into account, if this element is also present. If allowedWeekDays is omitted, the product validity does not depend on the day of the week.

Weekdays
specialDays Optional

Impact of special days on product validity. This impact takes precedence over valid weekdays. For each special day:

  • TRUE means the product can be used on this special day (even if the weekday is not allowed by allowedWeekdays).
  • FALSE means the product can NOT be used on this special day (even if the weekday is allowed by allowedWeekdays).
  • Omitted means that this special day does not affect the validity defined by allowedWeekdays. If specialDays is omitted, the product validity does not depend on any special day.
SpecialDays
includedTimeRange Optional

Time ranges when the product can be used, during the days described above. Omitted if the product validity does not depend on any time (but is defined for the entire days).

SEQUENCE OF TimeRange

Weekdays

SEQUENCE

This sequence contains the following fields:

monday
BOOLEAN
tuesday
BOOLEAN
wednesday
BOOLEAN
thursday
BOOLEAN
friday
BOOLEAN
saturday
BOOLEAN
sunday
BOOLEAN

SpecialDays

The definition of what is a national, state, county, etc. holiday is per the tariff conditions of the product owner.

SEQUENCE

This sequence contains the following fields:

nationalHolidays Optional

National holiday (e.g. Christmas in France, as it is a public holiday throughout the whole country)

BOOLEAN
stateHolidays Optional

State holiday (e.g. Buss- und Bettag in the German Bundesland of Sachsen)

BOOLEAN
countyHolidays Optional

County holiday (e.g. Corpus Christi).

BOOLEAN
localHolidays Optional

Local holiday (e.g. Friedensfest in the German city of Augsburg).

BOOLEAN
pollutionDay Optional

Days when pollution levels exceed the threshold.

BOOLEAN

TimeRange

Values referenced to local time

SEQUENCE

This sequence contains the following fields:

fromTime
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

untilTime
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 1439

Product

Product identification

FIP products shall be coded under the product owner of ERA Org Code 3011 and product IDs of the variant IA5 with said value starting with FIP-. The exact product IDs are left to be defined by the FIP working group.

SEQUENCE

This sequence contains the following fields:

productOwner Optional

Organization responsible for the product definition. If omitted in specificConditions, productOwner is the one described in generalConditions. If omitted in generalConditions, productOwner is the issuer element in issuingDetail.

CompanyCode
productId Optional

Product id to identify the issued product codelist defined by the product owner.

GenericId
productDescription Optional

Short readable description of the product.

UnicodeText

Tariff

Tariff data for transport products. Information included are:

  • number, type and characteristics of allowed passengers, incl. applied reduction cards,
  • optionally a link to the traveler data.
SEQUENCE

This sequence contains the following fields:

numberOfPassengers Default value defined

Number of passengers using the tariff.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 200

This field, when unset, defaults to the following value: 1

passengerType Optional

Type indication (youth, adult, senior... but also pet, bicycle). The definition of which passenger is which type in this field is per the product owner. Omitted if the ticket has no restrictions regarding the type of passenger, or if the restriction is based on the product type and not on this element.

PassengerType
age Optional

Age restrictions of the tariff.

CHOICE

The value of this choice may be one of the following:

specificAge
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 127

ageRange
SEQUENCE

This sequence contains the following fields:

ageBelow Optional

'below' is to be understood as 'strictly less than'

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 128

ageAbove Optional

'above' is to be understood as 'strictly greater than'

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 127

travelerId Optional

Named traveler list. Link to the traveler in case the travelers have to be named (e.g. Eurail passes). The number indicates the position in the traveler sequence starting from 1.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 254

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 254

tariffId Optional

Tariff code.

GenericId
tariffDesc Optional

Readable tariff description.

UnicodeText
appliedConditionsIndex Optional

Additional conditions applying specifically to this tariff entitlement. These conditions restrict the circumstances in which the passengers described by this Tariff are included in the transport product.

They do not restrict the validity of the transport product for passengers described by other Tariff elements.

Index into TransportProduct.conditions. The first element has index 1.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32

CardReference

Card reference (for any kind of card: customer card, loyalty card, reduction card...)

SEQUENCE

This sequence contains the following fields:

product

Issuer and type of the card.

Product
id Optional

According to Format, the ID is full, limited to the leading part, or limited to the trailing part.

GenericId
format Default value defined

Indication whether the full or only the leading or trailing part of the ID is provided.

IdFormat

This field, when unset, defaults to the following value: full

IdentificationDocument

Description of an identity document If number is not provided, this sequence merely defines the acceptable type of identification document, but does not specify an exact document; i.e. the traveler may be identified via their passport, but no stipulation is made on which specific passport is presented. If the country field is also blank, then this means any country (or no country at all) is valid.

SEQUENCE

This sequence contains the following fields:

country Optional

Numeric ISO 3166 country code of the issuing country of the document.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 999

category

Category of the document (passport, ID card...).

IdentificationDocumentCategory
number Optional

Number of the document.

VisibleString
format Default value defined

Indication whether the full or only the leading or trailing part of the document number is provided.

IdFormat

This field, when unset, defaults to the following value: trailingPart

Traveler

Traveler data might contain all traveler details which are independent from the type of travel document. E.g. it can include the date of birth as this is part of the traveler, but not the indication "Senior" as this is tariff dependent.

SEQUENCE

This sequence contains the following fields:

name
Name
passengerType Optional

The definition of which passenger is which type in this field is per the issuer, and may be overridden by product owner for a specific segment using Tariff.passengerType.

PassengerType
ageOrBirth Optional
CHOICE

The value of this choice may be one of the following:

dateOfBirth
DateType
age
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 127

rareDetails Optional
RareTravelerDetails

DateType

Date type, used to indicate the date of birth. All elements are optional to allow indicating only a part of the date (e.g. only the year).

SEQUENCE

This sequence contains the following fields:

year Optional
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1901

The value must be less than or equal to: 2155

month Optional
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 12

day Optional
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 31

RareTravelerDetails

Rare traveler data.

SEQUENCE

This sequence contains the following fields:

identificationDocument Optional

Details of the document (ID card, passport...) identifying the traveler.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

IdentificationDocument
reductionCard Optional

Cards (reduction, discount, loyalty...) held by the traveler. Only present if they serve a purpose (e.g. access to a lounge in a station).

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

CardReference
customerId Optional

Customer id might be numerical or alphanumerical.

GenericId
passengerWithReducedMobility Optional

Omitted if no information is available.

BOOLEAN
countryOfResidence Optional

Country of residence (numeric ISO 3166 country code). To be used in case there are product restrictions linked to the country of residence (e.g. Eurail passes), such restrictions are then indicated with the countryValidity element in Tariff.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 999

status Optional
SEQUENCE OF CustomerStatus
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
TravelerExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Single value

The value must be exactly: !C

TravelerExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

CustomerStatus

Customer status

SEQUENCE

This sequence contains the following fields:

statusProvider Optional

Company providing the status. Omitted if this company is the ticket issuer.

CompanyCode
customerStatus Optional
GenericId
customerStatusDescr Optional

Customer status text description (e.g. "gold").

VisibleString

Voucher

Data for vouchers. Data included are quite basic, further study is required (e.g. through a meeting with people knowing vouchers).

SEQUENCE

This sequence contains the following fields:

controlData
ControlData
product

Identification of the product (owner, id, textual description).

Product
validFromYear

Begin / end of validity in local date wherever the traveler is located. Valid from 00:00 to 23:59. Number of year.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 2016

The value must be less than or equal to: 2269

validFromDay

Number of the day in the year (1.1. = 1).

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 500

validUntilYear

Number of year.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 2016

The value must be less than or equal to: 2269

validUntilDay

Number of the day in the year (1.1. = 1).

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 500

value Default value defined

Value of the voucher, in the currency and fraction defined in IssuingData.

INTEGER

This field, when unset, defaults to the following value: 0

infoText Optional

Additional readable information that cannot be described using the other elements.

UnicodeText
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
VoucherExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Single value

The value must be exactly: !P

VoucherExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

VoucherConstraints

SEQUENCE

This sequence contains the following fields:

currency Optional

Permitted currencies. If absent, any currency is permitted.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 16

SEQUENCE

This sequence contains the following fields:

currency Default value defined
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 999

This field, when unset, defaults to the following value: 978

maximumValue Optional
SEQUENCE

This sequence contains the following fields:

value
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to:

currencyFract Default value defined
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 3

This field, when unset, defaults to the following value: 2

extension Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
VoucherExtensions

CustomerCard

Data for simple customer cards. For detailed or complex cards (e.g. valid only on a specific OD), use transportProduct instead. Included are data from:

  • OEBB requirements on card data
  • DB Bahncard as HandyTicket

Note: customer data are included in the traveler data structure.

SEQUENCE

This sequence contains the following fields:

controlData
ControlData
product

Identification of what variety of customer card it is.

Product
individualCardId

The ID identifying this specific card. The ID identifying the card product/variety goes into product.

GenericId
validFrom Optional

Begin / end of validity in local date wherever the traveler is located.

ValidFrom
validUntil Optional
ValidUntil
classCode Optional

Travel class in case card usage is limited to a travel class. For transport modes where the concept of class does not exist, MUST be set to notApplicable.

TravelClass
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
CustomerCardExtensions

CustomerCardExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

ParkingGround

Data for parking as a standalone document. Included are data from:

  • DB parking ground reservation
SEQUENCE

This sequence contains the following fields:

controlData
ControlData
product

Identification of the product (owner, id, textual description).

Product
validFrom

Start and end of validity of parking entitlement. Date and time in time zone of the parking. When validFromTime == 0, validity is the whole day depending on opening hours of the parking facility.

ValidFrom
validUntil
ValidUntil
parkingDetails
Parking

Parking

Data for parking as a leg of a global transport document. Suitable for cars but also for motorbikes, bikes. etc.

SEQUENCE

This sequence contains the following fields:

parkingGroundId

Code list of the product owner.

VisibleString
accessCode Optional

Code needed to access the parking lot.

VisibleString
location Optional

Readable name of the parking location. Omitted if the vehicle can park anywhere in the parking ground.

UnicodeText
station Optional

In case the parking ground is associated with a station.

Station
entryTrack Optional

In case a special entry can or must be taken (e.g. VIP entry), readable name of this entry.

UnicodeText
vehiclePlate Optional

Number plate of the car parked. See note in CarCarriageReservationData on the meaning of this field.

UnicodeText
numberAllowed Optional

Number of days or hours of allowed parking in case this number is limited and less than the validity period. If present, the count of the remaining number of allowed days or hours is centrally held in a back office, that must be queried to verify whether the traveler still has a right of parking.

CHOICE

The value of this choice may be one of the following:

days
INTEGER
minutes
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 1439

infoText Optional

Additional readable information that cannot be described using the other elements.

UnicodeText
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
ParkingExtensions

ParkingExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

ParkingConstraints

SEQUENCE

This sequence contains the following fields:

extension Optional
DataAuthorization

This type is concretely parameterised with the following:

ElementSet
ParkingExtensions

StationPassage

Data for station passage and access. Ticket used to enter, exit or pass a station without traveling. e.g. for staff working in a station.

SEQUENCE

This sequence contains the following fields:

controlData
ControlData
product

Identification of the product (owner, id, textual description).

Product
station Optional

Station(s) concerned.

StationSet
area Optional

List of areas in a station where the access is allowed. The code table used to identify the areas depends on the station.

SEQUENCE OF GenericId
areaNameUTF8 Optional

Readable area names. This field, if present, MUST be of equal length to the area field.

SEQUENCE OF UnicodeText
validFrom Optional

Period of validity of the right of passage.

ValidFrom
validUntil Optional
ValidUntil
numberOfDaysValid Optional

Number of days for station passage in case the number of days is limited and less than the validity period. If present, the count of the remaining number of valid days is centrally held in a back office, that must be queried to verify whether the traveler still has a right of passage.

INTEGER
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
StationPassageExtensions

StationPassageExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

Token

Example use cases:

  • Identifier of the media linked with the barcode, e.g. the serial number of a Security In Paper ticket hosting the barcode
  • Identifier of an ABT (Account Based Ticketing) system
SEQUENCE

This sequence contains the following fields:

provider Optional

Provider of the token. Omitted if the provider is the issuer identified in IssuingData.

CompanyCode
token
Data

This type is concretely parameterised with the following:

ElementSet
TokenTypes

sipSerialNumberToken

OBJECT

This is an object of the class: DATA-ELEMENT

This object has the following field values:

&id
SER
&Type
VisibleString
&encoding
cuperEncoding
&Constraints
NULL

abtToken

OBJECT

This is an object of the class: DATA-ELEMENT

This object has the following field values:

&id
ABT
&Type
OCTET STRING
&encoding
rawEncoding
&Constraints
NULL

TokenTypes

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
SER VisibleString cuperEncoding NULL
ABT OCTET STRING rawEncoding NULL
Other members may be added at runtime.

DelayConfirmation

Confirmation of the delay of a transport

SEQUENCE

This sequence contains the following fields:

controlData
ControlData
transportNumber

Transport number of the delayed transport.

TransportId
lineNumber Optional

Line which the transport was operating as (e.g. S5)

LineId
station

Station where the delay became relevant, i.e. where passenger gets off the delayed transport, or the station where they missed boarding when a transport left earlier than scheduled.

Station
arrival

Planned arrival date and time at the station where delay became relevant. Date referenced from issuing date.

ArrivalDateTime
delayType

Indication if the transport has been delayed (and how long) or canceled.

CHOICE

The value of this choice may be one of the following:

delay

The transport was delayed, and delay in minutes at the mentioned station. The delay is negative if the transport left earlier than scheduled.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: -1439

The value must be less than or equal to: 1439

transportCancelled

The transport was cancelled.

NULL
replacedWith

The transport was cancelled, and replaced with a different transport.

SEQUENCE

This sequence contains the following fields:

transportNumber

Transport number of the replacement transport.

TransportId
lineNumber Optional

Line which the replacement transport is operating as (e.g. S5 EV)

LineId
replacementStation Optional

The replacement transport is not calling at the original station, but is calling at a replacement station.

Station
arrival

Planned arrival date and time at the original (or replacement) station of the replacement transport. Date referenced from issuing date.

ArrivalDateTime
stationSkipped

The transport skipped a station, and optionally called at a replacement station

SEQUENCE

This sequence contains the following fields:

replacement Optional
SEQUENCE

This sequence contains the following fields:

station

The alternative station called at.

Station
arrival

Planned arrival date and time at the replacement station of the replacement transport. Date referenced from issuing date.

ArrivalDateTime
confirmationType Default value defined

Type of confirmation provided.

DelayConfirmationType

This field, when unset, defaults to the following value: travelerDelayConfirmation

affectedTickets Optional

Affected original ticket(s).

SEQUENCE OF TicketLink
validityExtension Optional

The validity of the original ticket is extended in some way. If this field is unset, no statement is made about possibly validity extensions. If it is set, but has no fields set within it, then the validity is explicitly not extended.

SEQUENCE

This sequence contains the following fields:

transportLinkRemoved

Transport links have been waived.

BOOLEAN
additionalTransportLink

Additional transport links have been permitted.

SEQUENCE OF TransportLink
additionalCarrier

Additional carriers the passenger is permitted to travel with.

SEQUENCE OF CompanyCode
additionalServiceBrand

Additional service brands the passenger is permitted to travel in. Per TEL TSI Code List B.4.7009.

SEQUENCE OF INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 32000

infoText Optional

Additional readable information that cannot be described using the other elements.

UnicodeText
extension Optional

Proprietary data defined bilaterally.

SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

Data

This type is concretely parameterised with the following:

ElementSet
DelayConfirmationExtensions

This type is constrained in the following way:

Fields

The type must satisfy the following field constraints, other fields are unconstrained:

Field Presence Value
format No stipulation

Inverse

Any value, except any satisfying the following:

Single value

The value must be exactly: !P

DelayConfirmationExtensions

OBJECT SET

This object set has the following members:

&id &Type &encoding &Constraints
Other members may be added at runtime.

DelayConfirmationConstraints

SEQUENCE

This sequence contains the following fields:

transportLinkRemoved Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

additionalTransportLink Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

additionalCarrier Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

additionalServiceBrand Default value defined
BOOLEAN

This field, when unset, defaults to the following value: FALSE

extension Optional

If the relevant constraint is not present, the certificate is not permitted to issue such a delay confirmation.

DataAuthorization

This type is concretely parameterised with the following:

ElementSet
DelayConfirmationExtensions

BerthDetailData

Sleeper compartment according to TEL TSI B.5.

SEQUENCE

This sequence contains the following fields:

berthType
BerthType
numberOfBerths
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 999

gender Default value defined

Take particular care when using this field, in light of the CJEU decision C‑394/23. Specifically: "the processing of personal data relating to the title of the customers of a transport undertaking, the purpose of which is to personalise the commercial communication based on their gender identity ... cannot be regarded as necessary for the performance of that contract"

CompartmentGender

This field, when unset, defaults to the following value: mixed

LuggageRestriction

The basis for these data is weak:

  • SCIC mentions a maximum of three pieces of hand luggage but does not include a definition of hand luggage.
  • SCIC refers to special conditions on registered luggage, but SCIC NRT does not contain definitions on that, and UIC 108.1 does not contain data structures for luggage.
  • current THALYS luggage restrictions.
SEQUENCE

This sequence contains the following fields:

maxHandLuggagePieces Default value defined

Allowed hand luggage pieces on this ticket (3 = default in current NRT tariff).

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 99

This field, when unset, defaults to the following value: 3

maxNonHandLuggagePieces Default value defined

Allowed non-hand luggage pieces on this ticket.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 0

The value must be less than or equal to: 99

This field, when unset, defaults to the following value: 1

registeredLuggage Optional
SEQUENCE OF RegisteredLuggage

RegisteredLuggage

SEQUENCE

This sequence contains the following fields:

registrationId Optional

ID of the additional registered luggage.

GenericId
maxWeight Optional

Maximum weight in kg.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 99

maxSize Optional

Sum of length with and height in cm.

INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 300

ProductVariety

Product variety indicates the type of the transport product, as well as some specific characteristics it may have.

CHOICE

The value of this choice may be one of the following:

ticket

Ticket authorizing the use of the transportation service (single ticket, return ticket, ticket book, pass, access to a parking lot, car sharing service...) This choice also describes some associated characteristics:

  • how many journeys are possible (single/return/multiple/unlimited),
  • is an online connection required to validate or check the ticket,
  • is the ticket an initial ticket or an upgrade,
  • does the ticket need an associated reservation to be usable.
TicketDetails
reservation

Standalone reservation, which does not authorize travel unless accompanied by a ticket.

NULL
commercialCard

Any card (reduction card, loyalty card...) that does not authorize travel but allows the holder to benefit from reduced prices or commercial advantages.

NULL
proprietary

Very specific product, in case none of the above choices apply.

NULL

TicketDetails

SEQUENCE

This sequence contains the following fields:

ticketCategory Default value defined

Ticket category, indicating how many time the product can be used.

TicketCategory

This field, when unset, defaults to the following value: single

isAnUpgrade Default value defined

Indicates if the ticket is an upgrade of another ticket.

BOOLEAN

This field, when unset, defaults to the following value: FALSE

additionalReservationRequired Default value defined

Indicates if an associated reservation (as a separate standalone document) is required for the ticket to be usable:

  • TRUE if an associated reservation is required.
  • FALSE if no associated reservation is required (this value covers the case when the reservation is included in the ticket conditions).
BOOLEAN

This field, when unset, defaults to the following value: FALSE

TicketCategory

ENUMERATED

The value of this enumeration may have one of the following values:

single

Value: 0

Single ticket: only one journey is permitted.

return

Value: 1

Return ticket: only one outward journey and one return journey are permitted.

multiple

Value: 2

Multiple but not unlimited journeys are permitted (e.g. ticket book). The counting is made in a backoffice.

unlimited

Value: 3

As many journeys as desired are permitted (e.g. pass).

ServiceType

ENUMERATED

The value of this enumeration may have one of the following values:

seat

Value: 0

couchette

Value: 1

berth

Value: 2

carCarriage

Value: 3

PassengerType

ENUMERATED

The value of this enumeration may have one of the following values:

person

Value: 0

senior

Value: 1

child

Value: 2

youth

Value: 3

student

Value: 4

youngChild

Value: 5

familyChild

Value: 6

Child associated with a family traveling together.

accompPRM

Value: 7

Accompanying person for PRM (Passenger with Restricted Mobility).

wheelchair

Value: 8

Passenger with wheel-chair.

military

Value: 9

pet

Value: 10

A pet but not a dog.

dog

Value: 11

accompDog

Value: 12

An accompanying dog for a PRM (Passenger with Restricted Mobility).

bicycle

Value: 13

luggage

Value: 14

Can be used for e.g. unaccompanied luggage.

TicketLinkMode

ENUMERATED

The value of this enumeration may have one of the following values:

issuedTogether

Value: 0

onlyValidInCombination

Value: 1

DelayConfirmationType

ENUMERATED

The value of this enumeration may have one of the following values:

transportDelayConfirmation

Value: 0

Confirmation of transport delay, whether the traveler was on board in unconfirmed.

travelerDelayConfirmation

Value: 1

Confirmation that the traveler was on board of the delayed transport.

transportLinkedTicketDelay

Value: 2

Confirmation that a ticket linked to the delayed transport was issued.

BerthType

ENUMERATED

The value of this enumeration may have one of the following values:

single

Value: 0

special

Value: 1

double

Value: 2

t2

Value: 3

t3

Value: 4

t4

Value: 5

CompartmentGender

ENUMERATED

The value of this enumeration may have one of the following values:

unspecified

Value: 0

family

Value: 1

female

Value: 2

male

Value: 3

mixed

Value: 4

IdFormat

ENUMERATED

The value of this enumeration may have one of the following values:

full

Value: 0

leadingPart

Value: 1

trailingPart

Value: 2

IdentificationDocumentCategory

ENUMERATED

The value of this enumeration may have one of the following values:

passport

Value: 0

idCard

Value: 1

residencePermit

Value: 2

driverLicense

Value: 3

creditCard

Value: 4

socialBenefitsCard

Value: 5

studentIdCard

Value: 6

specialTravelDocument

Value: 7

e.g. those issued under the Convention of the 28th of September 1954, or a Laissez-Passer

TravelClass

ENUMERATED

The value of this enumeration may have one of the following values:

notApplicable

Value: 0

first

Value: 1

second

Value: 2

tourist

Value: 3

comfort

Value: 4

premium

Value: 5

business

Value: 6

all

Value: 7

premiumFirst

Value: 8

standardFirst

Value: 9

premiumSecond

Value: 10

standardSecond

Value: 11

CountryValidity

ENUMERATED

The value of this enumeration may have one of the following values:

onlyInCountryOfResidence

Value: 0

includingCountryOfResidence

Value: 1

excludingCountryOfResidence

Value: 2

LoadingDeck

ENUMERATED

The value of this enumeration may have one of the following values:

upper

Value: 0

lower

Value: 1

CompartmentPosition

ENUMERATED

The value of this enumeration may have one of the following values:

upperLevel

Value: 0

lowerLevel

Value: 1

RoofRack

ENUMERATED

The value of this enumeration may have one of the following values:

norack

Value: 0

roofRailing

Value: 1

luggageRack

Value: 2

skiRack

Value: 3

boxRack

Value: 4

rackWithOneBox

Value: 5

rackWithTwoBoxes

Value: 6

bicycleRack

Value: 7

otherRack

Value: 8

RetailChannel

ENUMERATED

The value of this enumeration may have one of the following values:

smsTicket

Value: 0

SMS sent to a specific number.

mobileApplication

Value: 1

Application on a mobile phone.

webSite

Value: 2

Internet portal.

ticketOffice

Value: 3

Agency or counter.

depositaryTerminal

Value: 4

Dealer (e.g. tobacconist, newsagent, cafe, etc.).

onBoardTerminal

Value: 5

On-board sales (e.g. using the driver's point-of-sale terminal).

ticketVendingMachine

Value: 6

Automatic sales machine.