KDE PIM/KItinerary/Supported Providers: Difference between revisions

From KDE Community Wiki
No edit summary
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= KItinerary: Supported Providers =
= KItinerary: Supported Providers =


https://phabricator.kde.org/project/profile/280/
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/


== Data Formats ==
== Data Formats ==
Line 22: Line 24:
{| class="wikitable"
{| class="wikitable"
! Airline !! Booking Confirmation Format !! Booking Confirmation Extractor !! Boarding Pass Format !! Boarding Pass Extractor !! Notes
! Airline !! Booking Confirmation Format !! Booking Confirmation Extractor !! Boarding Pass Format !! Boarding Pass Extractor !! Notes
|-
| Aer Lingus (EI) || HTML || Custom || PDF || TODO || boarding pass uses vector barcodes
|-
|-
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic (pkpass), Custom (pdf) ||
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic (pkpass), Custom (pdf) ||
|-
|-
| Air Berlin (AB) || ? || ? || PkPass, PDF, JSON-LD || Generic || JSON-LD contains wrong timezone data, airline bancrupt
| Air Berlin (AB) || ? || ? || PkPass, PDF, JSON-LD || Generic || JSON-LD contains wrong timezone data, airline bankrupt
|-
|-
| Air France (AF) || ? || ? || Mircrodata, PDF || Generic ||
| Air France (AF) || ? || ? || Mircrodata, PDF || Generic ||
Line 34: Line 38:
|-
|-
| Asiana Airlines (OZ) || PDF || TODO || ? || ? ||
| Asiana Airlines (OZ) || PDF || TODO || ? || ? ||
|-
| BRA (TF) || HTML || TODO || HTML, PDF || Generic ||
|-
|-
| British Airways (BA) || HTML, Text || TODO || PDF || Generic ||
| British Airways (BA) || HTML, Text || TODO || PDF || Generic ||
Line 39: Line 45:
| 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 || ? || ? ||
|-
| EasyJet || HTML || Custom || PDF || TODO || Barcode uses vector data
|-
|-
| EasyJet || ? || ? || PDF || Generic ||
| Emirates (EK) || HTML || TODO || ? || ? || needs more samples
|-
|-
| Eurowings (EW) || HTML, Text || Custom || PDF, PkPass, JSON-LD || Generic (JSON-LD, PDF), Custom (PkPass) ||
| 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 ||
|-
| IndiGo (6E) || HTML || TODO || ? || ? || need more samples
|-
|-
| KLM (KL) || HTML || Custom || Microdata, PDF || Generic ||
| KLM (KL) || HTML || Custom || Microdata, PDF || Generic ||
|-
|-
| Lufthansa (LH) || Microdata || Generic || Microdata, PkPass, PDF || Generic (Microdata, PDF), Custom (PkPass) || Microdata boarding passes contain download link rather than IATA BCBP token
| 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 || TODO || ? || ? ||
| Norwegian Air Shuttle (DY) || HTML, PDF || TODO || ? || ? ||
|-
|-
| Quatar Airways (QR) || Text, HTML, PDF || TODO || ? || ? ||
| Quatar Airways (QR) || Text, HTML, PDF || TODO || ? || ? || needs more samples
|-
| Ryanair (FR) || HTML, Microdata || 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) ||
Line 61: Line 79:
| Swiss (LX) || HTML, iCal || Custom || PDF, PkPass || Generic (PDF), Custom (PkPass) ||
| Swiss (LX) || HTML, iCal || Custom || PDF, PkPass || Generic (PDF), Custom (PkPass) ||
|-
|-
| TAP || ? || ? || PDF || Generic ||
| TAP || HTML || TODO || PDF || Generic ||
|-
|-
| United (UA) || ? || ? || PDF || Generic ||
| United (UA) || ? || ? || PDF || Generic ||
|-
|-
| Vueling (VY) || HTML || Custom || PDF || Generic ||
| Vueling (VY) || HTML || Custom || PDF || Generic ||
|-
| Wizz Air (W6) || HTML || TODO || ? || ? ||
|-
|-
| WOW air (WW) || HTML, PDF || TODO || PkPass || Generic ||
| WOW air (WW) || HTML, PDF || TODO || PkPass || Generic ||
Line 73: Line 93:


Mixing train and bus operators here as some of them operate both types.
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:
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 83: Line 105:


{| class="wikitable"
{| class="wikitable"
! Operator !! Type !! 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
|-
| 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<br/>International: UIC918.3 with RCT2 payload || Yes ||
|-
| DSB || Train || DK/EU || PDF || TODO || UIC 918.3 with RCT2 payload || untested ||
|-
| Flixbus || Bus || EU? || JSON-LD, HTML, PDF || Generic || unknown || unknown ||
|-
| Italo || Train || IT || JSON-LD || Generic ||  ? || N/A ||
|-
|-
| Czech Railways || Train || ? || Custom || ? ||
|Koleje Małopolskie || Train || PL || PDF || Custom || QR with proprietary JSON payload || untested ||
|-
|-
| Deutsche Bahn || Train || 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
| Korail || Train || KR || HTML || Custom || N/A || no || validation requires print-out or vendor app
|-
|-
| Flixbus || Bus || HTML, PDF || TODO || unknown || unknown ||
| megabus.com || Bus || UK? || HTML, Text, PDF || TODO || ? || ? ||
|-
|-
| Korail || Train || HTML || TODO || N/A || no || validation requires print-out or vendor app
| NS || Train || EU || PDF || TODO || UIC 918.3 with RCT2 payload (international) || ? ||
|-
|-
| megabus.com || Bus || HTML, Text, PDF || TODO || ? || ? ||
| ÖBB || Train || EU || PDF || TODO || UIC 918.3 with RCT2 payload || untested ||
|-
|-
| NS || Train || PDF || TODO || UIC 918.3 with RTC2 payload (international) || ? ||
| Pasažieru vilciens || Train || LV? || HTML, PDF || TODO || Proprietary without trip data || unknown ||
|-
|-
| ÖBB || Train || PDF || TODO || UIC 918.3 with RTC2 payload || untested ||
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
|-
|-
| Pasažieru vilciens || Train || HTML, PDF || TODO || Proprietary without trip data || unknown ||
| SBB || Train || EU? || PDF || TODO || UIC 918.3 with RCT2 payload || untested ||
|-
|-
| RegioJet || Train, Bus || ? || Custom || ? || ? ||
| SNCF || Train || EU ||  PDF || Custom || Proprietary with trip data || Yes (untested) ||
|-
|-
| SBB || Train || PDF || TODO || UIC 918.3 with RTC2 payload || untested ||
| Stansted Express || Train || UK || PDF, PkPass || Custom (PkPass), TODO (PDF) || QR/proprietary || untested ||
|-
|-
| SNCF || Train || PDF || Custom || Proprietary with trip data || Yes (untested) ||
| Trenitalia || Train || IT || PDF || Custom || Aztec with binary content (see [[KDE_PIM/KItinerary/Trenitalia_Barcode]]) || unknown ||
|-
|-
| VIA Rail || Train || HTML, PDF || TODO || Proprietary with trip data || unknown ||
| VIA Rail || Train || CA || HTML, PDF || TODO || Proprietary with trip data || unknown ||
|-
|-
| vr.fi || Train || HTML, PDF || TODO || unidentified || unknown ||
| vr.fi || Train || FI? || HTML, PDF || TODO || unidentified || unknown ||
|-
|-
| Westbahn || Train || PDF || TODO || unknown || unknown ||
| Westbahn || Train || AT? || PDF || TODO || unknown || unknown ||
|}
|}
Useful reference: https://en.wikipedia.org/wiki/Rail_transport_by_country


== Lodging ==
== Lodging ==
Line 118: Line 154:
{| class="wikitable"
{| class="wikitable"
! Provider !! Booking Confirmation Format !! Extractor !! Notes
! Provider !! Booking Confirmation Format !! Extractor !! Notes
|-
| Accor Hotels || HTML || TODO ||
|-
|-
| 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
|-
|-
| 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
|}
|}


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


{| class="wikitable"
{| class="wikitable"
! Agency !! Supported Types !! Itinerary Format !! Extractor !! Notes
! Agency !! Supported Types !! Itinerary Format !! Extractor !! Notes
|-
|-
| Amadeus || Flight || Text, HTML || Custom (some variants) ||
| ACP Rail || Train || HTML || TODO ||
|-
| 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
|-
| Cheapoair || Flight || JSON-LD || Generic ||
|-
|-
| 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 ||
Line 165: Line 217:
! Rental Car Provider !! Format !! Extractor !! Notes
! Rental Car Provider !! Format !! Extractor !! Notes
|-
|-
| Avid || HTML || TODO ||
| Avis || HTML || TODO ||
|-
| Europcar || JSON-LD || Generic ||
|-
|-
| Hertz || Text, HTML || Custom ||
| Hertz || Text, HTML || Custom ||
Line 177: Line 231:
| Deutsche Message AG || PDF, PkPass || Generic (PkPass) || unknown || unknown ||
| Deutsche Message AG || PDF, PkPass || Generic (PkPass) || unknown || unknown ||
|-
|-
| Eventbrite || JSON-LD, PDF || Generic || unknown || unknown ||
| Eventbrite || JSON-LD, PDF || Generic || numeric token in QR or 1d barcode || unknown || ticket token only in PDF and not yet extracted
|-
| 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 ||
|-
| ntry.at || PkPass, HTML, PDF || Generic || alphanumeric token in Aztec code || untested ||
|-
|-
| messe.at || HTML, PDF || TODO || unknown || unknown ||
| messe.at || HTML, PDF || TODO || unknown || unknown ||
|-
| Messe Nürnberg || PkPass || Generic || weird || unknown ||
|}
|}

Revision as of 16:43, 18 June 2019

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/

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

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 Booking Confirmation Format Booking Confirmation Extractor Boarding Pass Format Boarding Pass Extractor Notes
Aer Lingus (EI) HTML Custom PDF TODO boarding pass uses vector barcodes
Air Baltic (BT) ? ? PkPass, PDF Generic (pkpass), Custom (pdf)
Air Berlin (AB) ? ? PkPass, PDF, JSON-LD Generic JSON-LD contains wrong timezone data, airline bankrupt
Air France (AF) ? ? Mircrodata, PDF Generic
American Airlines (AA) ? ? PDF Custom
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 TODO Barcode uses vector data
Emirates (EK) HTML 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 TODO ? ? need more samples
KLM (KL) HTML Custom 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 TODO ? ?
Quatar Airways (QR) Text, HTML, PDF TODO ? ? needs more samples
Ryanair (FR) HTML, Microdata Generic ? ?
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)
TAP HTML TODO PDF Generic
United (UA) ? ? PDF Generic
Vueling (VY) HTML Custom PDF Generic
Wizz Air (W6) HTML TODO ? ?
WOW air (WW) HTML, PDF TODO PkPass Generic

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
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 TODO UIC 918.3 with RCT2 payload untested
Flixbus Bus EU? JSON-LD, HTML, PDF Generic unknown unknown
Italo Train IT JSON-LD Generic ? N/A
Koleje Małopolskie Train PL PDF Custom QR with proprietary JSON payload untested
Korail Train KR HTML Custom N/A no validation requires print-out or vendor app
megabus.com Bus UK? HTML, Text, PDF TODO ? ?
NS Train EU PDF TODO UIC 918.3 with RCT2 payload (international) ?
ÖBB Train EU PDF TODO UIC 918.3 with RCT2 payload untested
Pasažieru vilciens Train LV? HTML, PDF TODO Proprietary without trip data unknown
RegioJet Train, Bus EU? ? Custom ? ?
SBB Train EU? PDF TODO UIC 918.3 with RCT2 payload untested
SNCF Train EU PDF Custom Proprietary with trip data Yes (untested)
Stansted Express Train UK PDF, PkPass Custom (PkPass), TODO (PDF) QR/proprietary untested
Trenitalia Train IT PDF Custom Aztec with binary content (see KDE_PIM/KItinerary/Trenitalia_Barcode) unknown
VIA Rail Train CA HTML, PDF TODO Proprietary with trip data unknown
vr.fi Train FI? HTML, PDF TODO unidentified unknown
Westbahn Train AT? PDF TODO unknown unknown

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

Lodging

Provider Booking Confirmation Format Extractor Notes
Accor Hotels HTML TODO
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
Millenium Copthorne JSON-LD Generic
NH Group HTML Custom
simplebooking.it HTML Custom Online booking software used by non-chain hotels

Travel Agencies / Backend Systems

Agency Supported Types Itinerary Format Extractor Notes
ACP Rail Train HTML TODO
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
Cheapoair Flight JSON-LD Generic
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
TUI Flight, Hotel PDF TODO

Restaurants

Restaurant/Reservation Service Format Extractor Notes
dinnerbooking.dk HTML, iCal ?
easytablebooking.com ? ?
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
Deutsche Message AG PDF, PkPass Generic (PkPass) unknown unknown
Eventbrite JSON-LD, PDF Generic numeric token in QR or 1d barcode unknown ticket token only in PDF and not yet extracted
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