KDE PIM/KItinerary/Supported Providers: Difference between revisions

From KDE Community Wiki
(41 intermediate revisions by 2 users not shown)
Line 25: Line 25:
! 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
| Aer Lingus (EI) || HTML || Custom || PDF || Generic ||
|-
|-
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic (pkpass), Custom (pdf) ||
| Air Baltic (BT) || ? || ? || PkPass, PDF || Generic (pkpass), Custom (pdf) ||
Line 39: Line 39:
| 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 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 ||
|-
|-
| EasyJet || ? || ? || PDF || Generic ||
| Czech Airlines (OK) || HTML || TODO || PDF || Generic ||
|-
| Delta || HTML || TODO || ? || ? ||
|-
| EasyJet || HTML || Custom || PDF || Generic ||
|-
| 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 || TODO || ? || ? || need more samples
|-
|-
| 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 ||
|-
| 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 || TODO || ? || ? ||
| 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) ||
Line 69: 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 || JSON-LD has been observed in some emails too
|-
|-
| Wizz Air (W6) || HTML || TODO || ? || ? ||
| Wizz Air (W6) || HTML || TODO || ? || ? ||
Line 87: Line 97:


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 101: Line 111:
| 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? || JSON-LD, HTML, PDF || Generic || unknown || unknown ||
|-
|-
| Flixbus || Bus || EU? || HTML, PDF || TODO || unknown || unknown ||
| Italo || Train || IT || JSON-LD || Generic || ? || N/A ||
|-
|-
| Italo || Train || IT || HTML || Generic || JSON-LD || ? || ||
| 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
| Korail || Train || KR || HTML || Custom || N/A || no || validation requires print-out or vendor app
Line 111: Line 125:
| 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) || ? ||
| 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 ||
|-
|-
| 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 ||
Line 119: Line 133:
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
|-
|-
| SBB || Train || EU? || PDF || TODO || UIC 918.3 with RTC2 payload || untested ||
| SBB || Train || EU? || PDF || Generic || UIC 918.3 with RCT2 payload || untested ||
|-
|-
| SNCF || Train || EU ||  PDF || Custom || Proprietary with trip data || Yes (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 ||
|-
| VGN || Train/Bus || DE::BY || PDF, image || Custom || UIC 918.3 with non-RCT2 U_TLAY payload || untested ||
|-
|-
| VIA Rail || Train || CA || HTML, PDF || TODO || Proprietary with trip data || unknown ||
| VIA Rail || Train || CA || HTML, PDF || TODO || Proprietary with trip data || unknown ||
Line 129: Line 149:
| Westbahn || Train || AT? || 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 134: Line 156:
{| 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"
Line 149: Line 179:
| ACP Rail || Train || HTML || TODO ||
| ACP Rail || Train || HTML || TODO ||
|-
|-
| 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
|-
| 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 ||
|-
| 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 167: Line 211:
! 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 || ? || ? ||
Line 198: Line 242:
|-
|-
| 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
|-
| 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 ||

Revision as of 15:22, 9 August 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 Generic
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 Generic
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 TODO ? ? need more samples
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 TODO ? ?
Quatar Airways (QR) Text, HTML, PDF TODO ? ? 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 Custom PDF, PkPass Generic (PDF), Custom (PkPass)
TAP HTML TODO PDF Generic
United (UA) ? ? PDF 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

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 Generic 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 Generic UIC 918.3 with RCT2 payload (international) ?
ÖBB Train EU PDF Generic UIC 918.3 with RCT2 payload Yes
Pasažieru vilciens Train LV? HTML, PDF TODO Proprietary without trip data unknown
RegioJet Train, Bus EU? ? Custom ? ?
SBB Train EU? PDF Generic 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
VGN Train/Bus DE::BY PDF, image Custom UIC 918.3 with non-RCT2 U_TLAY payload untested
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
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 ? ?
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