Jump to content

KDE PIM/KItinerary/Supported Providers: Difference between revisions

From KDE Community Wiki
Vkrause (talk | contribs)
Vkrause (talk | contribs)
 
(93 intermediate revisions by the same user not shown)
Line 4: Line 4:


Project details: https://phabricator.kde.org/project/profile/280/
Project details: https://phabricator.kde.org/project/profile/280/
Note that the below list is inherently incomplete, a provider not being listed does not automatically imply it doesn't work, as it might still be covered by generic extractors, or by an existing custom extractor for the same backend system.


== Data Formats ==
== Data Formats ==
Line 13: Line 15:
* iCal: ical calendar files
* iCal: ical calendar files
* PkPass: Apple Wallet pass files
* PkPass: Apple Wallet pass files
* Barcode: barcodes containing encoded trip information - see also [[KDE _PIM/KItinerary/Barcode_Formats|Barcode Formats]]


== Extractor Types ==
== Extractor Types ==
Line 23: Line 26:
== Airlines ==
== Airlines ==
{| class="wikitable"
{| class="wikitable"
! Airline !! Booking Confirmation Format !! Booking Confirmation Extractor !! Boarding Pass Format !! Boarding Pass Extractor !! Notes
! Airline (IATA)!! Booking Confirmation Format !! Booking Confirmation Extractor !! Boarding Pass Format !! Boarding Pass Extractor !! Notes
|-
| Aegean (A3) || ? || ? || HTML, PDF || Generic ||
|-
|-
| Aer Lingus (EI) || HTML || Custom || PDF || TODO || boarding pass uses vector barcodes
| Aer Lingus (EI) || HTML || Custom || PDF || Generic ||
|-
|-
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic (pkpass), Custom (pdf) ||
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic ||
|-
|-
| Air Berlin (AB) || ? || ? || PkPass, PDF, JSON-LD || Generic || JSON-LD contains wrong timezone data, airline bankrupt
| Air Berlin (AB) || ? || ? || PkPass, PDF, JSON-LD || Generic || JSON-LD contains wrong timezone data, airline bankrupt
|-
| Air Canada (AC) || ? || ? || PDF || Generic ||
|-
|-
| Air France (AF) || ? || ? || Mircrodata, PDF || Generic ||
| Air France (AF) || ? || ? || Mircrodata, PDF || Generic ||
|-
|-
| American Airlines (AA) || ? || ? || PDF || Custom ||
| American Airlines (AA) || ? || ? || PDF || Generic ||
|-
|-
| Austrian Airlines (OS) || Microdata || Generic || JSON-LD, PkPass || Generic ||
| Austrian Airlines (OS) || Microdata || Generic || JSON-LD, PkPass || Generic ||
Line 39: Line 46:
| Asiana Airlines (OZ) || PDF || TODO || ? || ? ||
| Asiana Airlines (OZ) || PDF || TODO || ? || ? ||
|-
|-
| BRA (TF) || HTML || TODO || HTML, PDF || Generic fails due to T8824 ||
| BRA (TF) || HTML || TODO || HTML, PDF || Generic ||
|-
|-
| British Airways (BA) || HTML, Text || TODO || PDF || Generic ||
| British Airways (BA) || HTML, Text || TODO || PDF || Generic ||
Line 45: Line 52:
| Brussels Airlines (SN) || HTML, PDF || Custom || PDF, PkPass || Generic ||
| Brussels Airlines (SN) || HTML, PDF || Custom || PDF, PkPass || Generic ||
|-
|-
| Czech Airlines (OK) || HTML || TODO || ? || ? ||
| Croatia Airlines (OU) || ? || ? || PDF || Generic ||
|-
| Czech Airlines (OK) || HTML || TODO || PDF || Generic ||  
|-
|-
| Delta || HTML || TODO || ? || ? ||
| Delta || HTML || TODO || ? || ? ||
|-
|-
| EasyJet || ? || ? || PDF || Generic ||
| EasyJet || HTML || Custom || PDF || Custom ||
|-
| Emirates (EK) || HTML, PDF || TODO || ? || ? || needs more samples
|-
|-
| Eurowings (EW) || HTML, Text || Custom || PDF, PkPass, JSON-LD, Micordata || Generic (JSON-LD, PDF), Custom (PkPass) || JSON-LD and Microdata are sometimes both present and provide different data
| Eurowings (EW) || HTML, Text || Custom || PDF, PkPass, JSON-LD, Micordata || Generic (JSON-LD, PDF), Custom (PkPass) || JSON-LD and Microdata are sometimes both present and provide different data
|-
|-
| Finnair (AY) || HTML || TODO || PDF || Generic ||
| Finnair (AY) || HTML || TODO || PDF || Generic ||
|-
| Flybe (BE) || HTML || TODO || ? || ? ||
|-
|-
| Iberia (IB) || HTML, PDF || Custom (some variants) || Microdata, PDF || Generic ||
| Iberia (IB) || HTML, PDF || Custom (some variants) || Microdata, PDF || Generic ||
|-
|-
| KLM (KL) || HTML || Custom || Microdata, PDF || Generic ||
| IndiGo (6E) || HTML || Custom || PDF || Custom ||
|-
|-
| Lufthansa (LH) || Microdata || Generic || Microdata, PkPass, PDF || Generic (Microdata, PDF), Custom (PkPass) || Microdata boarding passes contain download link rather than IATA BCBP token
| KLM (KL) || HTML, PDF || Custom (some formats) || Microdata, PDF || Generic ||
|-
|-
| Norwegian Air Shuttle (DY) || HTML, PDF || TODO || ? || ? ||
| Lufthansa (LH) || Microdata || Generic || Microdata, PkPass, PDF, iCal || Generic (Microdata, PDF), Custom (PkPass), NP4 (iCal) || Microdata boarding passes contain download link rather than IATA BCBP token
|-
|-
| Quatar Airways (QR) || Text, HTML, PDF || TODO || ? || ? ||
| Norwegian Air Shuttle (DY) || HTML, PDF || Custom (PDF) || ? || ? ||
|-
|-
| Ryanair (FR) || HTML || TODO || ? || ? ||
| Quatar Airways (QR) || Text, HTML, PDF || TODO || PDF || Generic || needs more samples
|-
| Ryanair (FR) || HTML, Microdata || Generic  || PDF || Generic ||
|-
|-
| SAS (SK) || PDF, HTML, Text || Custom (some variants) || PDF || Generic/Custom (depending on variant) ||
| SAS (SK) || PDF, HTML, Text || Custom (some variants) || PDF || Generic/Custom (depending on variant) ||
|-
|-
| Swiss (LX) || HTML, iCal || Custom || PDF, PkPass || Generic (PDF), Custom (PkPass) ||
| Swiss (LX) || HTML, iCal, JSON-LD || Custom, Generic || PDF, PkPass || Generic ||
|-
|-
| TAP || ? || ? || PDF || Generic ||
| TAP || HTML || TODO || PDF || Generic ||
|-
|-
| United (UA) || ? || ? || PDF || Generic ||
| United (UA) || HTML || TODO || PDF || Generic ||
|-
|-
| Vueling (VY) || HTML || Custom || PDF || Generic ||
| Volotea (V7) || JSON-LD || Generic || ? || ? ||
|-
| Vueling (VY) || HTML || Custom || PDF || Generic || JSON-LD has been observed in some emails too
|-
|-
| Wizz Air (W6) || HTML || TODO || ? || ? ||
| Wizz Air (W6) || HTML || TODO || ? || ? ||
Line 81: Line 98:
| WOW air (WW) || HTML, PDF || TODO || PkPass || Generic ||
| WOW air (WW) || HTML, PDF || TODO || PkPass || Generic ||
|}
|}
Useful references:
* https://en.wikipedia.org/wiki/List_of_airline_codes


== Train and Long-distance Bus Operators ==
== Train and Long-distance Bus Operators ==
Line 89: Line 109:


Ticket token types:
Ticket token types:
* UIC 918.3 with RTC2 payload: the EU standard for international tickets
* UIC 918.3 with RCT2 payload: the EU standard for international tickets
* UIC 918.3 with vendor payload
* UIC 918.3 with vendor payload
* Vendor-specific proprietary formats encoding (some) trip data
* Vendor-specific proprietary formats encoding (some) trip data
Line 98: Line 118:
{| class="wikitable"
{| class="wikitable"
! Operator !! Type !! Area !! Ticket Format !! Ticket Extractor !! Ticket Token Format !! Ticket Token Supported !! Notes
! Operator !! Type !! Area !! Ticket Format !! Ticket Extractor !! Ticket Token Format !! Ticket Token Supported !! Notes
|-
| Aircoach.ie || Bus || IE/UK || HTML || Custom || N/A || N/A ||
|-
|-
| ALSA || Bus || ES? || PDF || TODO || N/A || N/A ||
| ALSA || Bus || ES? || PDF || TODO || N/A || N/A ||
Line 103: Line 125:
| Czech Railways ||  Train || EU  || ? || Custom || ? || ? ||
| Czech Railways ||  Train || EU  || ? || Custom || ? || ? ||
|-
|-
| Deutsche Bahn || Train || EU || PDF || Custom || Domestic: UIC 918.3 with vendor-specific payload<br/>International: UIC918.3 with RTC2 payload || Yes (untested) || Rendering issues currently prevent ticket token validation
| Deutsche Bahn || Train || EU || PDF || Custom || Domestic: UIC 918.3 with vendor-specific payload<br/>International: UIC918.3 with RCT2 payload || Yes ||
|-
| DSB || Train || DK/EU || PDF || Generic || UIC 918.3 with RCT2 payload || untested ||
|-
|-
| Flixbus || Bus || EU? || HTML, PDF || TODO || unknown || unknown ||
| Flibco || Bus || EU || HTML || TODO || QR with number || unknown ||
|-
| Flixbus || Bus || EU? || JSON-LD, HTML, PDF || Custom || unknown || unknown ||
|-
|-
| Italo || Train || IT || JSON-LD || Generic ||  ? || N/A ||
| Italo || Train || IT || JSON-LD || Generic ||  ? || N/A ||
|-
| Koleje Małopolskie || Train || PL || PDF || Custom || QR with proprietary JSON payload || untested ||
|-
| Koleje Mazowiekie || Train || PL || PDF || Custom || QR [[KDE_PIM/KItinerary/Koleje_Mazowiekie]] || untested ||
|-
|-
| Korail || Train || KR || HTML || Custom || N/A || no || validation requires print-out or vendor app
| Korail || Train || KR || HTML || Custom || N/A || no || validation requires print-out or vendor app
|-
| MÁV || Train || HU/EU || PDF || Custom/Generic || PDF417/proprietary (domestic, [[KDE_PIM/KItinerary/MAV_Barcode]]), UIC 918.3/RCT2 (international) || ? ||
|-
|-
| megabus.com || Bus || UK? || HTML, Text, PDF || TODO || ? || ? ||
| megabus.com || Bus || UK? || HTML, Text, PDF || TODO || ? || ? ||
|-
|-
| NS || Train || EU || PDF || TODO || UIC 918.3 with RTC2 payload (international) || ? ||
| National Express || Bus || UK? || HTML || Custom || ? || ? ||
|-
| NS || Train || EU || PDF || Generic || UIC 918.3 with RCT2 payload (international) || ? ||
|-
|-
| ÖBB || Train || EU || PDF || TODO || UIC 918.3 with RTC2 payload || untested ||
| ÖBB || Train || EU || PDF || Generic || UIC 918.3 with RCT2 payload || Yes ||
|-
| Ouigo France || Train || FR/EU? || HTML (confirmation, reminder), PDF (ticket) || custom (confirmation) || high entropy base64 blob || unknown || workflow consists of 3 emails
|-
| Ouigo Spain || Train || ES || PDF || Custom || see Renfe ([[KDE_PIM/KItinerary/Renfe_Barcodes]]) || untested ||
|-
|-
| Pasažieru vilciens || Train || LV? || HTML, PDF || TODO || Proprietary without trip data || unknown ||
| Pasažieru vilciens || Train || LV? || HTML, PDF || TODO || Proprietary without trip data || unknown ||
|-
| PKP || Train || PL, EU || PDF || TODO || UIC 918.3-like, [[KDE_PIM/KItinerary/PKP_Barcode]] || ? ||
|-
|-
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
|-
|-
| SBB || Train || EU? || PDF || TODO || UIC 918.3 with RTC2 payload || untested ||
| Renfe || Train || EU || PDF || Custom || Limited trip data (see [[KDE_PIM/KItinerary/Renfe_Barcodes]]) || untested ||
|-
|-
| SNCF || Train || EU || PDF || Custom || Proprietary with trip data || Yes (untested) ||
| SBB || Train || EU? || Html/Text, PDF || TODO (Html), Generic (PDF) || UIC 918.3 with RCT2 payload (PDF), QR with proprietary format (Html) (see [[KDE_PIM/KItinerary/SBB_Barcode]]) || untested ||
|-
|-
| VIA Rail || Train || CA || HTML, PDF || TODO || Proprietary with trip data || unknown ||
| SNCB || Train || BE/EU? || PDF || Custom || Code128 || unknown ||
|-
|-
| vr.fi || Train || FI? || HTML, PDF || TODO || unidentified || unknown ||
| SNCF || Train || EU ||  PDF, HTML, Barcode || Custom || Proprietary with trip data (see [[KDE_PIM/KItinerary/SNCF_Barcodes]]) || Yes ||
|-
| Stansted Express || Train || UK || PDF, PkPass || Custom (PkPass), TODO (PDF) || QR/proprietary || untested  ||
|-
| Thalys || Train || BE/DE/FR/NL || Html || Custom || ERA SSB v3 (see [[KDE_PIM/KItinerary/Thalys_Barcode]]) || Yes ||
|-
| Trenitalia || Train || IT || PDF || Custom || ERA SSB v2 (see [[KDE_PIM/KItinerary/Trenitalia_Barcode]]) || Yes ||
|-
| VGN || Train/Bus || DE::BY || PDF, image || Custom || UIC 918.3 with non-RCT2 U_TLAY payload || untested ||
|-
| VIA Rail || Train || CA || HTML, PDF || Custom || Proprietary with trip data || unknown ||
|-
| vr.fi || Train || FI? || HTML, PDF || Custom || ERA SSB v1 (see [[KDE_PIM/KItinerary/vr.fi_Barcode]]) || unknown ||
|-
|-
| Westbahn || Train || AT? || PDF || TODO || unknown || unknown ||
| Westbahn || Train || AT? || PDF || TODO || unknown || unknown ||
|-
| ZSSK || Train || SK, EU || PDF, image || RCT2 (international), custom (domestic) || see [[KDE_PIM/KItinerary/ZSSK_Barcode]] || unknown ||
|}
|}


Line 138: Line 192:
{| class="wikitable"
{| class="wikitable"
! Provider !! Booking Confirmation Format !! Extractor !! Notes
! Provider !! Booking Confirmation Format !! Extractor !! Notes
|-
| Accor Hotels || HTML || Custom ||
|-
| Agoda || HTML || Custom ||
|-
| Airbnb || JSON-LD || Generic ||
|-
|-
| A&O Hostels || Text, HTML || Custom ||
| A&O Hostels || Text, HTML || Custom ||
|-
|-
| Booking.com || JSON-LD, HTML || Generic, Custom || varies between JSON-LD and HTML with so far unknown pattern
| availpro.com || HTML || Custom || Online booking software used by non-chain hotels
|-
| Booking.com || JSON-LD, HTML, Text || Generic, Custom || varies between JSON-LD and HTML with so far unknown pattern
|-
| Hotels.com || JSON-LD || Custom || custom extractor to augment generic result with correct checkin/out times
|-
|-
| Millenium Copthorne || JSON-LD || Generic ||
| Millenium Copthorne || JSON-LD || Generic ||
|-
| NH Group || HTML || Custom ||
|-
| simplebooking.it || HTML || Custom || Online booking software used by non-chain hotels
|-
| Vrbo || HTML || TODO ||
|}
|}


== Travel Agencies ==
== Travel Agencies / Backend Systems ==


{| class="wikitable"
{| class="wikitable"
! Agency !! Supported Types !! Itinerary Format !! Extractor !! Notes
! Agency !! Supported Types !! Itinerary Format !! Extractor !! Notes
|-
|-
| ACP Rail || Train || HTML || TODO ||
| ACP Rail || Train || HTML || Custom ||
|-
|-
| Amadeus || Flight || Text, HTML || Custom (some variants) ||
| Amadeus || Flight || Text, HTML, PDF, iCal || Custom (some variants) || used by several airlines and agencies too
|-
|-
| American Express || Flight, Hotel || PDF || TODO ||
| American Express || Flight, Hotel || PDF || TODO ||
|-
| BCD Travel || Flight, Train, Rental Car || PDF, iCal || via NP4 || uses NP4 extractor for iCal
|-
| Bravofly || Flight, Hotel || HTML || TODO ||
|-
| Cheapoair || Flight || JSON-LD || Generic ||
|-
| Cleartrip || Flight || JSON-LD || Generic || Also sends non-standard PkPass files
|-
|-
| Expedia || Flight || HTML || TODO ||
| Expedia || Flight || HTML || TODO ||
|-
|-
| FCM/Travellink || Flight || Text, HTML || Custom ||
| FCM/Travellink || Flight || Text, HTML || Custom ||
|-
| NP4 GmbH || Flight, Rental Car || iCal  || Custom || backend system used by e.g. BCD Travel and Lufthansa
|-
|-
| Trainline.eu || Train || JSON-LD || Generic ||
| Trainline.eu || Train || JSON-LD || Generic ||
|-
| Travelport Galileo || Flight || Text || Custom || backend system
|-
|-
| TUI || Flight, Hotel || PDF || TODO ||
| TUI || Flight, Hotel || PDF || TODO ||
|-
| via.com || Flight || JSON-LD, PDF (booking); HTML (cancellation) || Generic ||
|-
|}
|}
Useful references:
*  https://en.wikipedia.org/wiki/Computer_reservation_system


== Restaurants ==
== Restaurants ==
Line 171: Line 259:
! Restaurant/Reservation Service !! Format !! Extractor !! Notes
! Restaurant/Reservation Service !! Format !! Extractor !! Notes
|-
|-
| dinnerbooking.dk || HTML, iCal || ? ||
| dinnerbooking.com || HTML, iCal || Custom ||
|-
|-
| easytablebooking.com || ? || ? ||
| easytablebooking.com || ? || ? ||
|-
| lafourchette.com || Microdata || Generic ||
|-
|-
| opentable.de || JSON-LD || Generic ||
| opentable.de || JSON-LD || Generic ||
Line 198: Line 288:
{| class="wikitable"
{| class="wikitable"
! Booking Service !! Ticket Format !! Ticket Extractor !! Ticket Token Format !! Ticket Token Supported !! Notes
! Booking Service !! Ticket Format !! Ticket Extractor !! Ticket Token Format !! Ticket Token Supported !! Notes
|-
| Chaos Communication Congress || PDF || Custom || QR with alpha-numeric id || yes || includes a secondary UIC 918.3 ticket token for local public transport (supported too)
|-
| Cineplex || HTML || TODO || QR with numeric id || unknown || PkPass file available via download link
|-
| Clorian || HTML, PkPass || Generic (PkPass) || QR with numeric id || unknown || HTML email with PkPass download link; covers some prominent sites like Sagrada Familia
|-
|-
| Deutsche Message AG || PDF, PkPass || Generic (PkPass) || unknown || unknown ||
| Deutsche Message AG || PDF, PkPass || Generic (PkPass) || unknown || unknown ||
|-
| Easy Airport Parking || HTML, PkPass || Custom (PkPass) || numeric token as QR code || untested || parking reservation, currently modeled as Event
|-
|-
| Eventbrite || JSON-LD, PDF || Generic || numeric token in QR or 1d barcode || unknown || ticket token only in PDF and not yet extracted
| Eventbrite || JSON-LD, PDF || Generic || numeric token in QR or 1d barcode || unknown || ticket token only in PDF and not yet extracted
|-
| Indico || HTML || Custom || N/A || N/A ||
|-
| Kinoheld || JSON-LD || Generic || reservation number as Code128 barcode || unknown || ticket token not set in JSON-LD
|-
|-
| Meetup || JSON-LD || Generic || N/A || N/A ||
| Meetup || JSON-LD || Generic || N/A || N/A ||
Line 210: Line 312:
|-
|-
| Messe Nürnberg || PkPass || Generic || weird || unknown ||
| Messe Nürnberg || PkPass || Generic || weird || unknown ||
|-
| Ticketino  || PkPass || Generic || numeric token || unknown ||
|-
| Tierpark Berlin || PDF || Custom || numeric token || unknown ||
|}
|}

Latest revision as of 09:44, 23 September 2023

KItinerary: Supported Providers

More test data is always welcome and helpful, also for providers already listed as supported below. There's always some corner case we can improve :)

Project details: https://phabricator.kde.org/project/profile/280/

Note that the below list is inherently incomplete, a provider not being listed does not automatically imply it doesn't work, as it might still be covered by generic extractors, or by an existing custom extractor for the same backend system.

Data Formats

  • JSON-LD: HTML content containing structured data in JSON-LD format
  • Microdata: HTML content containing structured data in XML format
  • PDF: PDF files
  • HTML: HTML content without structured data
  • Text: plain text content
  • iCal: ical calendar files
  • PkPass: Apple Wallet pass files
  • Barcode: barcodes containing encoded trip information - see also Barcode Formats

Extractor Types

  • Generic - structured data: built-in extraction of JSON-LD and Microdata content
  • Generic - IATA BCBP: built-in extraction of IATA BarCoded Boarding Passes (BCBP)
  • Generic - PkPass: built-in extraction of Apple Wallet boarding passes and event tickets
  • Custom: custom extractor script

Airlines

Airline (IATA) Booking Confirmation Format Booking Confirmation Extractor Boarding Pass Format Boarding Pass Extractor Notes
Aegean (A3) ? ? HTML, PDF Generic
Aer Lingus (EI) HTML Custom PDF Generic
Air Baltic (BT) ? ? PkPass, PDF Generic
Air Berlin (AB) ? ? PkPass, PDF, JSON-LD Generic JSON-LD contains wrong timezone data, airline bankrupt
Air Canada (AC) ? ? PDF Generic
Air France (AF) ? ? Mircrodata, PDF Generic
American Airlines (AA) ? ? PDF Generic
Austrian Airlines (OS) Microdata Generic JSON-LD, PkPass Generic
Asiana Airlines (OZ) PDF TODO ? ?
BRA (TF) HTML TODO HTML, PDF Generic
British Airways (BA) HTML, Text TODO PDF Generic
Brussels Airlines (SN) HTML, PDF Custom PDF, PkPass Generic
Croatia Airlines (OU) ? ? PDF Generic
Czech Airlines (OK) HTML TODO PDF Generic
Delta HTML TODO ? ?
EasyJet HTML Custom PDF Custom
Emirates (EK) HTML, PDF TODO ? ? needs more samples
Eurowings (EW) HTML, Text Custom PDF, PkPass, JSON-LD, Micordata Generic (JSON-LD, PDF), Custom (PkPass) JSON-LD and Microdata are sometimes both present and provide different data
Finnair (AY) HTML TODO PDF Generic
Flybe (BE) HTML TODO ? ?
Iberia (IB) HTML, PDF Custom (some variants) Microdata, PDF Generic
IndiGo (6E) HTML Custom PDF Custom
KLM (KL) HTML, PDF Custom (some formats) Microdata, PDF Generic
Lufthansa (LH) Microdata Generic Microdata, PkPass, PDF, iCal Generic (Microdata, PDF), Custom (PkPass), NP4 (iCal) Microdata boarding passes contain download link rather than IATA BCBP token
Norwegian Air Shuttle (DY) HTML, PDF Custom (PDF) ? ?
Quatar Airways (QR) Text, HTML, PDF TODO PDF Generic needs more samples
Ryanair (FR) HTML, Microdata Generic PDF Generic
SAS (SK) PDF, HTML, Text Custom (some variants) PDF Generic/Custom (depending on variant)
Swiss (LX) HTML, iCal, JSON-LD Custom, Generic PDF, PkPass Generic
TAP HTML TODO PDF Generic
United (UA) HTML TODO PDF Generic
Volotea (V7) JSON-LD Generic ? ?
Vueling (VY) HTML Custom PDF Generic JSON-LD has been observed in some emails too
Wizz Air (W6) HTML TODO ? ?
WOW air (WW) HTML, PDF TODO PkPass Generic

Useful references:

Train and Long-distance Bus Operators

Mixing train and bus operators here as some of them operate both types.

Operating area: If an operator is only active in a single country, that allows to make assumptions e.g. about the timezone of the destinations.

Ticket token types:

  • UIC 918.3 with RCT2 payload: the EU standard for international tickets
  • UIC 918.3 with vendor payload
  • Vendor-specific proprietary formats encoding (some) trip data
  • Vendor-specific proprietary formats not encoding trip data

Ticket token supported: means you can use KDE Itinerary to validate your ticket on automatic scanners or during manual ticket inspections.

Operator Type Area Ticket Format Ticket Extractor Ticket Token Format Ticket Token Supported Notes
Aircoach.ie Bus IE/UK HTML Custom N/A N/A
ALSA Bus ES? PDF TODO N/A N/A
Czech Railways Train EU ? Custom ? ?
Deutsche Bahn Train EU PDF Custom Domestic: UIC 918.3 with vendor-specific payload
International: UIC918.3 with RCT2 payload
Yes
DSB Train DK/EU PDF Generic UIC 918.3 with RCT2 payload untested
Flibco Bus EU HTML TODO QR with number unknown
Flixbus Bus EU? JSON-LD, HTML, PDF Custom unknown unknown
Italo Train IT JSON-LD Generic ? N/A
Koleje Małopolskie Train PL PDF Custom QR with proprietary JSON payload untested
Koleje Mazowiekie Train PL PDF Custom QR KDE_PIM/KItinerary/Koleje_Mazowiekie untested
Korail Train KR HTML Custom N/A no validation requires print-out or vendor app
MÁV Train HU/EU PDF Custom/Generic PDF417/proprietary (domestic, KDE_PIM/KItinerary/MAV_Barcode), UIC 918.3/RCT2 (international) ?
megabus.com Bus UK? HTML, Text, PDF TODO ? ?
National Express Bus UK? HTML Custom ? ?
NS Train EU PDF Generic UIC 918.3 with RCT2 payload (international) ?
ÖBB Train EU PDF Generic UIC 918.3 with RCT2 payload Yes
Ouigo France Train FR/EU? HTML (confirmation, reminder), PDF (ticket) custom (confirmation) high entropy base64 blob unknown workflow consists of 3 emails
Ouigo Spain Train ES PDF Custom see Renfe (KDE_PIM/KItinerary/Renfe_Barcodes) untested
Pasažieru vilciens Train LV? HTML, PDF TODO Proprietary without trip data unknown
PKP Train PL, EU PDF TODO UIC 918.3-like, KDE_PIM/KItinerary/PKP_Barcode ?
RegioJet Train, Bus EU? ? Custom ? ?
Renfe Train EU PDF Custom Limited trip data (see KDE_PIM/KItinerary/Renfe_Barcodes) untested
SBB Train EU? Html/Text, PDF TODO (Html), Generic (PDF) UIC 918.3 with RCT2 payload (PDF), QR with proprietary format (Html) (see KDE_PIM/KItinerary/SBB_Barcode) untested
SNCB Train BE/EU? PDF Custom Code128 unknown
SNCF Train EU PDF, HTML, Barcode Custom Proprietary with trip data (see KDE_PIM/KItinerary/SNCF_Barcodes) Yes
Stansted Express Train UK PDF, PkPass Custom (PkPass), TODO (PDF) QR/proprietary untested
Thalys Train BE/DE/FR/NL Html Custom ERA SSB v3 (see KDE_PIM/KItinerary/Thalys_Barcode) Yes
Trenitalia Train IT PDF Custom ERA SSB v2 (see KDE_PIM/KItinerary/Trenitalia_Barcode) Yes
VGN Train/Bus DE::BY PDF, image Custom UIC 918.3 with non-RCT2 U_TLAY payload untested
VIA Rail Train CA HTML, PDF Custom Proprietary with trip data unknown
vr.fi Train FI? HTML, PDF Custom ERA SSB v1 (see KDE_PIM/KItinerary/vr.fi_Barcode) unknown
Westbahn Train AT? PDF TODO unknown unknown
ZSSK Train SK, EU PDF, image RCT2 (international), custom (domestic) see KDE_PIM/KItinerary/ZSSK_Barcode unknown

Useful reference: https://en.wikipedia.org/wiki/Rail_transport_by_country

Lodging

Provider Booking Confirmation Format Extractor Notes
Accor Hotels HTML Custom
Agoda HTML Custom
Airbnb JSON-LD Generic
A&O Hostels Text, HTML Custom
availpro.com HTML Custom Online booking software used by non-chain hotels
Booking.com JSON-LD, HTML, Text Generic, Custom varies between JSON-LD and HTML with so far unknown pattern
Hotels.com JSON-LD Custom custom extractor to augment generic result with correct checkin/out times
Millenium Copthorne JSON-LD Generic
NH Group HTML Custom
simplebooking.it HTML Custom Online booking software used by non-chain hotels
Vrbo HTML TODO

Travel Agencies / Backend Systems

Agency Supported Types Itinerary Format Extractor Notes
ACP Rail Train HTML Custom
Amadeus Flight Text, HTML, PDF, iCal Custom (some variants) used by several airlines and agencies too
American Express Flight, Hotel PDF TODO
BCD Travel Flight, Train, Rental Car PDF, iCal via NP4 uses NP4 extractor for iCal
Bravofly Flight, Hotel HTML TODO
Cheapoair Flight JSON-LD Generic
Cleartrip Flight JSON-LD Generic Also sends non-standard PkPass files
Expedia Flight HTML TODO
FCM/Travellink Flight Text, HTML Custom
NP4 GmbH Flight, Rental Car iCal Custom backend system used by e.g. BCD Travel and Lufthansa
Trainline.eu Train JSON-LD Generic
Travelport Galileo Flight Text Custom backend system
TUI Flight, Hotel PDF TODO
via.com Flight JSON-LD, PDF (booking); HTML (cancellation) Generic

Useful references:

Restaurants

Restaurant/Reservation Service Format Extractor Notes
dinnerbooking.com HTML, iCal Custom
easytablebooking.com ? ?
lafourchette.com Microdata Generic
opentable.de JSON-LD Generic
Quandoo HTML, Text TODO
zenchef.fr Microdata Generic

Rental Car Reservations

Rental Car Provider Format Extractor Notes
Avis HTML TODO
Europcar JSON-LD Generic
Hertz Text, HTML Custom

Event Booking

Booking Service Ticket Format Ticket Extractor Ticket Token Format Ticket Token Supported Notes
Chaos Communication Congress PDF Custom QR with alpha-numeric id yes includes a secondary UIC 918.3 ticket token for local public transport (supported too)
Cineplex HTML TODO QR with numeric id unknown PkPass file available via download link
Clorian HTML, PkPass Generic (PkPass) QR with numeric id unknown HTML email with PkPass download link; covers some prominent sites like Sagrada Familia
Deutsche Message AG PDF, PkPass Generic (PkPass) unknown unknown
Easy Airport Parking HTML, PkPass Custom (PkPass) numeric token as QR code untested parking reservation, currently modeled as Event
Eventbrite JSON-LD, PDF Generic numeric token in QR or 1d barcode unknown ticket token only in PDF and not yet extracted
Indico HTML Custom N/A N/A
Kinoheld JSON-LD Generic reservation number as Code128 barcode unknown ticket token not set in JSON-LD
Meetup JSON-LD Generic N/A N/A
ntry.at PkPass, HTML, PDF Generic alphanumeric token in Aztec code untested
messe.at HTML, PDF TODO unknown unknown
Messe Nürnberg PkPass Generic weird unknown
Ticketino PkPass Generic numeric token unknown
Tierpark Berlin PDF Custom numeric token unknown