KDE PIM/KItinerary/Supported Providers: Difference between revisions

From KDE Community Wiki
(31 intermediate revisions by the same user 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
| Aegean (A3) || ? || ? || HTML, PDF || Generic ||
|-
| 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 51: Line 53:
| Delta || HTML || TODO || ? || ? ||
| Delta || HTML || TODO || ? || ? ||
|-
|-
| EasyJet || HTML || Custom || PDF || TODO || Barcode uses vector data
| 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
Line 61: Line 65:
| 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 || PDF || Custom || 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 || PDF || Generic || needs more samples
|-
|-
| Ryanair (FR) || HTML, Microdata || Generic  || ? || ? ||
| 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 || Custom || PDF, PkPass || Generic ||
|-
|-
| TAP || HTML || TODO || PDF || Generic ||
| TAP || HTML || TODO || PDF || Generic ||
Line 79: Line 85:
| 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 85: Line 91:
| 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 102: Line 111:
{| 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 109: Line 120:
| Deutsche Bahn || Train || EU || PDF || Custom || Domestic: UIC 918.3 with vendor-specific payload<br/>International: UIC918.3 with RCT2 payload || Yes ||
| 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 ||
| 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? || JSON-LD, HTML, PDF || Generic || unknown || unknown ||
Line 115: Line 126:
| Italo || Train || IT || JSON-LD || Generic ||  ? || N/A ||
| Italo || Train || IT || JSON-LD || Generic ||  ? || N/A ||
|-
|-
|Koleje Małopolskie || Train || PL || PDF || TODO || QR with proprietary JSON payload || unknown ||
| 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 121: Line 132:
| 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 RCT2 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 RCT2 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 129: Line 142:
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
| RegioJet || Train, Bus || EU? || ? || Custom || ? || ? ||
|-
|-
| SBB || Train || EU? || PDF || TODO || UIC 918.3 with RCT2 payload || untested ||
| Renfe || Train || EU || PDF || Custom || Proprietary DataMatrix/Code128 with trip data || 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  ||
| 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]]) || 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 || TODO || Proprietary with trip data || unknown ||
| VIA Rail || Train || CA || HTML, PDF || TODO || Proprietary with trip data || unknown ||
Line 148: Line 167:
{| 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 ||
Line 158: Line 179:
|-
|-
| NH Group || HTML || Custom ||
| 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
|-
|-
| ACP Rail || Train || HTML || TODO ||
| ACP Rail || Train || HTML || Custom ||
|-
|-
| Amadeus || Flight || Text, HTML, PDF, iCal || 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 || Custom || only DE/iCal and flight/car rental so far
| 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 187: Line 222:
! 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 216: Line 253:
|-
|-
| 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
|-
| 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 09:27, 13 October 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
Aegean (A3) ? ? HTML, PDF Generic
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 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 TODO PDF Custom 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 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 Custom PDF, PkPass Generic
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

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
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 ? ?
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
Pasažieru vilciens Train LV? HTML, PDF TODO Proprietary without trip data unknown
RegioJet Train, Bus EU? ? Custom ? ?
Renfe Train EU PDF Custom Proprietary DataMatrix/Code128 with trip data untested
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) 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 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 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
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 ? ?
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
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
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