MultiModalTicketData

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
MultiModalTicketData
Numeric OID
1.3.6.1.4.1.17218.1.0.4.1.0

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 TravelerType
groupDetails Optional

Group details. Present if the traveler is a member of a group, otherwise omitted.

GroupDetailsType
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
controlDetail Optional

Data specific to support the ticket control process. If TransportProduct is used, the control data SHOULD be defined in its conditions and this global controlDetail element SHOULD be omitted.

ControlData
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
Other members may be added at runtime.

DocumentData

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

  • universal transport product
  • reservation of car carriage (VET)
  • 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.

TransportProductData
voucher

Voucher of monetary value.

VoucherData
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.

CustomerCardData
parkingGround

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

ParkingGroundData
stationPassage

Ticket to pass the gates at a station.

StationPassageData
delayConfirmation

Delay confirmation.

DelayConfirmation
token

Token (specific id linked to the ticket).

TokenType
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
Other members may be added at runtime.

DelayConfirmation

Confirmation of the delay of a transport

SEQUENCE

This sequence contains the following fields:

transportNumber

Transport number of the delayed transport.

TransportId
lineNumber Optional

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

LineId
carrier Optional

Carrier(s) responsible for the delayed transport. Omitted if the same as the issuer.

SEQUENCE OF CompanyCode
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.

ConfirmationType

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

affectedTickets Optional

Affected original ticket(s).

SEQUENCE OF TicketLinkType
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 TransportLinkType
additionalCarrier

Additional carriers the passenger is permitted to travel with.

SEQUENCE OF CompanyCode
additionalServiceBrand

Additional service brands the passenger is permitted to travel in.

SEQUENCE OF ServiceBrandType
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
Other members may be added at runtime.

IssuingData

Details of the issuer and the issue of the ticket.

  • Details og the issuer
  • Indication of test tickets (specimen)
  • Payment details: method of payment, currency
  • Proprietary ID & booking ID of the issuer to be used to identify the sale within its ecosystem
  • 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
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

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

ISO 639-1 coding (lower case) of the language preferred for the traveler / ticket holder.

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
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.

RetailChannelType
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

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:

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

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
ageCheckRequired

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

BOOLEAN
reductionCardCheckRequired

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

BOOLEAN
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 TicketLinkType
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
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's 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: 16

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

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.

TransportProductData

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.productType.

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
generalConditions Optional

General conditions that apply to all segments of the route. Mandatory if the transport product is a 'reservation' (this reservation being described through this 'generalConditions' element).

ConditionsType
specificConditions Optional

Specific conditions that can be applied to segments of the route. When a segment refers to specific conditions, these are added to the general conditions. If a particular condition is defined in both the general and then specific conditions, the one in specific conditions overrules the one in the general conditions. 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: 32

ConditionsType
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
generalConditions 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
specificConditions 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
generalConditions 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
Other members may be added at runtime.

CarType

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, the 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
RoofRackType

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
LoadingDeckType
beginLoading

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

ValidFromType
endLoading Optional
ValidUntilType

DepartureDateTime

Type definitions used in TransportLinkType and ReservationSegmentType.

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

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

TransportLinkType

Describes a transport link associated to a route or to a part of a route. Quite similar to ReservationSegmentType but without assigned place(s).

SEQUENCE

This sequence contains the following fields:

originStation Optional

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

Station
destinationStation Optional

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

Station
transportNumber Optional

Transport numbers (= service number, train number) allowed for the transport link. Multiple numbers are allowed (e.g. two trains coupled together, each of them having its own train number).

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

TransportId
departureDateTime Optional

Departure date and time in local time at the departure station of the transport link. 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 of the transport link. If omitted, arrivalDateTime is assumed to be equal to validUntil and validUntilUTCOffset of the container object.

ArrivalDateTime
classCode Default value defined

Travel class. 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.

TravelClassType

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

serviceBrand Optional

Service brand. 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 transport link only specifies one).

ServiceBrandType
serviceLevel Optional

Per TEL TSI Code List B.5.308. Omitted if the same service level 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

ReservationSegmentType

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:

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.

TravelClassType

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).

ServiceBrandType
serviceLevel Optional

Per TEL TSI Code List B.5.308. Omitted if the same service level 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 include details of the book car or cars.

SEQUENCE OF CarType

VoucherData

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:

product

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

ProductType
reference Optional

Internal reference of the voucher.

GenericId
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
Other members may be added at runtime.

GroupDetailsType

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

ValidFromType

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

ValidUntilType

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

ExtendedValidUntilType

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

IncludedTimeRangesType

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.

WeekdaysType
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.
SpecialDaysType
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 TimeRangeType

WeekdaysType

SEQUENCE

This sequence contains the following fields:

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

SpecialDaysType

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

TimeRangeType

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

ConditionsType

Conditions that apply:

  • if used for generalConditions: to the entire transport product.
  • if used for specificConditions: to the associated leg.
SEQUENCE

This sequence contains the following fields:

productVariety Optional

Detailed type of the transport product (ticket, reservation, commercial card...). MUST either be present in the generalConditions, or present in all specificConditions.

ProductVarietyType
coveringArea Optional

NUTS codes covering the whole area of validity of the ticket. This does not mean that the ticket 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 genericConditions or a referenced specificConditions. 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.
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
product Optional

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

ProductType
reference Optional
GenericId
referenceCompany Optional

The company that defined the above reference, if different from the document issuer.

CompanyCode
validFrom Optional

Having no validFrom is allowed (e.g. ticket not yet activated, which will be reissued with an explict 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).

ValidFromType
validUntil Optional
ValidUntilType
rareTimingConditions Optional
RareTimingConditionsType
directionIsMandatory Optional

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

  • in generalConditions: 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 specificConditions: 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 generalConditions: the traveler can travel through the described segments in any order.
  • in specificConditions: 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 TransportLinkType
reservation

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

SEQUENCE OF ReservationSegmentType
includedCarrier Optional

Included carriers responsible for the transport.

SEQUENCE OF CompanyCode
includedTransportType Optional

Included transport modes. Code list: EN 1545-1 (transport type code).

SEQUENCE OF 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: 31

includedServiceBrand Optional

Service brands valid for the route. In case this list is provided the ticket is invalid on all other service brands.

SEQUENCE OF ServiceBrandType
classCode Default value defined

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

TravelClassType

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

serviceLevel 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

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 TariffType
controlDetail Optional

Specific data to support the ticket inspection process.

ControlData
rareDetails Optional
RareDetailsType

RareTimingConditionsType

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 ConditionsType 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 a Security In Paper and/or the use a dedicated key.
ExtendedValidUntilType
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 IncludedTimeRangesType
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 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 that 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 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 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

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
Other members may be added at runtime.

RareDetailsType

Rare non-temporal details and conditions.

SEQUENCE

This sequence contains the following fields:

token Optional

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

TokenType
productFamily Optional

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

VisibleString
excludedCarrier Optional

Excluded carriers responsible for the transport starting at this station. In case this list is provided, the ticket is valid on all other carriers, and includedCarrier (in ConditionsType) SHALL NOT be used.

SEQUENCE OF CompanyCode
excludedTransportType Optional

Excluded transport modes. Code list: EN 1545-1 (transport type code). In case this list is provided, the ticket is valid on all other transport modes, and includedTransportType (in ConditionsType) SHALL NOT be used.

SEQUENCE OF 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: 31

excludedServiceBrand Optional

Excluded service brands for the route. In case this list is provided, the ticket is valid on all other service brands, and includedServiceBrand (in ConditionsType) SHALL NOT be used.

SEQUENCE OF ServiceBrandType
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.

LuggageRestrictionType
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
Other members may be added at runtime.

StationPassageData

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:

product

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

ProductType
reference Optional

Internal reference to the document.

GenericId
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.

ValidFromType
validUntil Optional
ValidUntilType
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
Other members may be added at runtime.

CustomerCardData

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:

individualCardId Optional

The ID identifying this specific card. The ID identifying the card product goes into ProductType.

GenericId
validFrom Optional

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

ValidFromType
validUntil Optional
ValidUntilType
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.

TravelClassType
product Optional

Identification of what variety of customer card it is.

ProductType
includedServices Optional

List of included services,

  • 1 = Rail Plus
  • 2 = access to lounge
  • 50 code list of the product owner

SEQUENCE OF 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
CustomerCardExtensions

CustomerCardExtensions

OBJECT SET

This object set has the following members:

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

ParkingGroundData

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

  • DB parking ground reservation\
SEQUENCE

This sequence contains the following fields:

product

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

ProductType
reference Optional

Internal reference to the document.

GenericId
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.

ValidFromType
validUntil
ValidUntilType
parkingDetails
ParkingType

ParkingType

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
Other members may be added at runtime.

ProductType

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.

ProductIdType
productDescription Optional

Short readable description of the product.

UnicodeText

TariffType

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

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.

CountryValidityType
tariffId Optional

Tariff code.

GenericId
tariffDesc Optional

Readable tariff description.

UnicodeText
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 if their verification is not requested during inspection.

SEQUENCE OF CardReferenceType

CardReferenceType

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.

ProductType
id Optional

According to cardIdFormat, 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.

CardIdFormatType

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

IdentificationDocumentType

Description of an identity document If number is not provided, this sequence merely defines the acceptable type of identification document, but does not specify and 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...).

IdentificationDocumentCategoryType
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.

CardIdFormatType

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

TravelerType

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:

firstName Optional

All 3 name parts are encoded with SCSU the SCSU compression (as per UnicodeText). The language tag applies to all 3 name parts. That is, the name parts are to be construed as 3 UnicodeText SEQUENCEs with the same language tag set.

OCTET STRING
secondName Optional
OCTET STRING
lastName Optional
OCTET STRING
language Optional

ISO 639-1 coding (lower case) of the names's language.

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

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 TariffType.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
RareTravelerDetailsType

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

RareTravelerDetailsType

Rare traveler data.

SEQUENCE

This sequence contains the following fields:

identificationDocument

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

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

IdentificationDocumentType
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 CardReferenceType
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 TariffType.

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 CustomerStatusType
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
Other members may be added at runtime.

CustomerStatusType

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

Customer status code:

  • 1 = basic
  • 2 = premium
  • 3 = silver
  • 4 = gold
  • 5 = platinum
  • 6 = senator
  • 50 - code table of the card issuer

INTEGER
customerStatusDescr Optional

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

VisibleString

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
appliedSpecificConditionsIndex Optional

The specific conditions are in the indicated conditions list. 1 corresponds to the first entry of the sequence. The edge case of having no general condition and no specific conditions is a valid case. This could be a full fare ticket without any restrictions.

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

GeoValidity

Specification of the geographical validity for a segment.

CHOICE

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

originDestination

Simple journey from an Origin to a Destination, with optional description of intermediate stations.

OriginDestinationType
complexRoute

Complex journey allowing multiple origins, multiple destinations, alternative routes, etc.

ComplexRouteType
area

Validity defined with areas/zones.

AreaType
line

Set of authorized transport lines.

LineType
polygone

Area defined using geocoordinates.

PolygoneType
parking

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

ParkingType
sharedVehicle

Access to a shared vehicle service.

SharedVehicle
carrierNetwork

Valid everywhere within the operating area of a carrier, including cross-border services, unless excluded by coveringArea condition.

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

CompanyCode
perConditions

No specific geographic validity beyond the coveringArea 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
Other members may be added at runtime.

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 hours 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
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

OriginDestinationType

Geographical validity from an origin station to a destination station

SEQUENCE

This sequence contains the following fields:

originStation Optional

Origin station of the OD journey. Omitted if this origin station is the destination station of the previous section of the journey.

Station
destinationStation

Destination station of the OD journey.

Station
intermediateStation Optional

If necessary the (ordered) stations between origin and destination can be indicated.

SEQUENCE OF Station

LineType

Geographical validity using a set of lines

SEQUENCE

This sequence contains the following fields:

includedLineId Optional

ID of the valid or excluded lines. Only one of both elements shall be present. Set according to the code table defined in the container object.

SEQUENCE OF LineId
excludedLineId Optional
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

AreaType

Geographical validity defined with areas/zones.

SEQUENCE

This sequence contains the following fields:

restrictedEntry Optional

In case the allowed journey must begin in specific stations or specific areas/zones. E.g.:

  • local city traffic starting from the station where a train journey ends.
  • journey starting in a specific set of areas/zones of a city.
  • journey starting anywhere in a city described with its NUTS code or its Calypso NetworkId.

Omitted if there are no restrictions on where the journey must begin.

CHOICE

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

station
StationSet
area
AreaSet
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 he may neither begin nor end his 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 ConditionsType).

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 concernedArea element, except those described in this element, in restrictedEntry and in restrictedExit.

AreaSet
restrictedExit Optional

In case the allowed journey must end in specific stations or specific areas/zones. E.g.:

  • local city traffic ending in the station where a train journey ends.
  • journey ending in a city described with a specific set of areas/zones.

Omitted if there are no restrictions on where the journey must end.

CHOICE

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

station
StationSet
area
AreaSet
areaNameUTF8 Optional

Readable name of the area of validity.

UnicodeText

ComplexRouteType

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 RouteItemType
changeOfService Optional

Information about the change of the service at this route item:

  • TRUE: change is mandatory
  • FALSE: change is forbidden
    • omitted if change is allowed but not mandatory
BOOLEAN
appliedSpecificConditionsIndex Optional

In case different carriers and/or different service brands need to be indicated on the routes or alternative routes.

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

RouteItemType

CHOICE

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

destinationStationOfPreviousSegment

The route item is the destination station from the previous validity segment.

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
route

The route item is a list of stations along the route.

SEQUENCE OF ComplexRouteType
alternativeRoutes

The route item is a list of alternative routes, one of these has to be taken.

SEQUENCE OF ComplexRouteType

PolygoneType

Geographical validity defined as a polygone.

SEQUENCE

This sequence contains the following fields:

firstEdge
GeoCoordinate
edges
SEQUENCE OF GeoUnit

TokenType

Known use cases:

  • Identifier of the media linked with the barcode, e.g.:
  • Mobile phone for tickets linked with a specific phone (e.g. VDV standard)
  • 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:

tokenCategory Optional

Category of the token. Omitted if the token category is implicit or unspecified.

TokenCategoryType
tokenProvider 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
TokenSpecifications

TokenSpecifications

OBJECT SET

This object set has the following members:

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

TicketLinkType

TicketLinkType is used to define a link from the ticket in the barcode to another ticket (requirement from Eurail). Known use cases:

  • reservation of trailer and car carriage and traveler reservation.
  • link between open ticket and bicycle reservations or pass.
  • open ticket and vouchers for meals.
SEQUENCE

This sequence contains the following fields:

ticketIssuer Optional

Data to reference the external ticket.

CompanyCode
ticketId Optional
GenericId
product Optional

The product, or type of product, of that a linked ticket must have. Useful in cases the exact linked ticket is not known, e.g. a 1st class upgrade to any second class ticket.

ProductType
ticketIssuerName Optional

Readable name of the issuer of the external ticket.

UnicodeText
ticketType Default value defined

Type of linked ticket.

ProductVarietyType

This field, when unset, defaults to the following value: Choice variant ticket EMPTY SEQUENCE

linkMode Default value defined

Type of link.

LinkModeType

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

BerthDetailData

Sleeper compartment according to TEL TSI B.5.

SEQUENCE

This sequence contains the following fields:

berthType
BerthTypeType
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"

CompartmentGenderType

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

LuggageRestrictionType

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 RegisteredLuggageType

RegisteredLuggageType

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

ProductIdType

Identification of a product, according to the code list defined in the container object.

CHOICE

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

productIdNum
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: 65535

productIdIA5
VisibleString

ProductVarietyType

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.
TicketDetailsType
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

TicketDetailsType

SEQUENCE

This sequence contains the following fields:

ticketCategory Default value defined

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

TicketCategoryType

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:

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:

ServiceBrandType

Identifies a train service uniquely in combination with train number and departure date. Code list: uic.org/service-brand-code-list.

SEQUENCE

This sequence contains the following fields:

serviceBrand 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: 32000

serviceBrandAbrUTF8 Optional
UnicodeText

TicketCategoryType

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).

TokenCategoryType

ENUMERATED

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

media

Value: 0

'token' is the ID of the media (phone, SIP ticket includind a serial number...) with which the ticket is linked.

accountBasedTicketing

Value: 1

'token' is the ID of the account with which the ticket is linked.

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:

adult

Value: 0

senior

Value: 1

child

Value: 2

youth

Value: 3

dog

Value: 4

bicycle

Value: 5

youngChild

Value: 6

familyChild

Value: 7

Child associated with a family traveling together.

accompPRM

Value: 8

Accompanying person for PRM (Passenger with Restricted Mobility).

wheelchair

Value: 9

Passenger with wheel-chair.

pet

Value: 10

A pet but not a dog.

accompDog

Value: 11

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

LinkModeType

ENUMERATED

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

issuedTogether

Value: 0

onlyValidInCombination

Value: 1

ConfirmationType

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.

BerthTypeType

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

CompartmentGenderType

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

CardIdFormatType

ENUMERATED

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

full

Value: 0

leadingPart

Value: 1

trailingPart

Value: 2

IdentificationDocumentCategoryType

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

TravelClassType

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

CountryValidityType

ENUMERATED

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

onlyInCountryOfResidence

Value: 0

includingCountryOfResidence

Value: 1

excludingCountryOfResidence

Value: 2

LoadingDeckType

ENUMERATED

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

upper

Value: 0

lower

Value: 1

CompartmentPositionType

ENUMERATED

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

upperLevel

Value: 0

lowerLevel

Value: 1

RoofRackType

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

RetailChannelType

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.