KDE PIM/KItinerary/Supported Providers: Difference between revisions
(6 intermediate revisions by the same user not shown) | |||
Line 32: | Line 32: | ||
| Aer Lingus (EI) || HTML || Custom || PDF || Generic || | | Aer Lingus (EI) || HTML || Custom || PDF || Generic || | ||
|- | |- | ||
| Air Baltic (BT) || ? || ? || PkPass, 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 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 || | | American Airlines (AA) || ? || ? || PDF || Generic || | ||
|- | |- | ||
| Austrian Airlines (OS) || Microdata || Generic || JSON-LD, PkPass || Generic || | | Austrian Airlines (OS) || Microdata || Generic || JSON-LD, PkPass || Generic || | ||
Line 129: | Line 131: | ||
| Flibco || Bus || EU || HTML || TODO || QR with number || unknown || | | Flibco || Bus || EU || HTML || TODO || QR with number || unknown || | ||
|- | |- | ||
| Flixbus || Bus || EU? || JSON-LD, HTML, PDF || | | 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 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 || ? || ? || | ||
Line 144: | Line 150: | ||
|- | |- | ||
| ÖBB || Train || EU || PDF || Generic || UIC 918.3 with RCT2 payload || Yes || | | Ö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 || ? || ? || | ||
|- | |- | ||
| Renfe || Train || EU || PDF || 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 || | | 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 || | ||
Line 155: | Line 167: | ||
| SNCB || Train || BE/EU? || PDF || Custom || Code128 || unknown || | | 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 | | 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 || | | Stansted Express || Train || UK || PDF, PkPass || Custom (PkPass), TODO (PDF) || QR/proprietary || untested || | ||
Line 172: | Line 182: | ||
|- | |- | ||
| 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 || | |||
|} | |} | ||
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 | 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) | ? | ? | Generic | ||
Air France (AF) | ? | ? | Mircrodata, PDF | Generic | |
American Airlines (AA) | ? | ? | Generic | ||
Austrian Airlines (OS) | Microdata | Generic | JSON-LD, PkPass | Generic | |
Asiana Airlines (OZ) | TODO | ? | ? | ||
BRA (TF) | HTML | TODO | HTML, PDF | Generic | |
British Airways (BA) | HTML, Text | TODO | Generic | ||
Brussels Airlines (SN) | HTML, PDF | Custom | PDF, PkPass | Generic | |
Croatia Airlines (OU) | ? | ? | Generic | ||
Czech Airlines (OK) | HTML | TODO | Generic | ||
Delta | HTML | TODO | ? | ? | |
EasyJet | HTML | Custom | 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 | Generic | ||
Flybe (BE) | HTML | TODO | ? | ? | |
Iberia (IB) | HTML, PDF | Custom (some variants) | Microdata, PDF | Generic | |
IndiGo (6E) | HTML | Custom | 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 | Generic | needs more samples | |
Ryanair (FR) | HTML, Microdata | Generic | Generic | ||
SAS (SK) | PDF, HTML, Text | Custom (some variants) | Generic/Custom (depending on variant) | ||
Swiss (LX) | HTML, iCal, JSON-LD | Custom, Generic | PDF, PkPass | Generic | |
TAP | HTML | TODO | Generic | ||
United (UA) | HTML | TODO | Generic | ||
Volotea (V7) | JSON-LD | Generic | ? | ? | |
Vueling (VY) | HTML | Custom | 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? | TODO | N/A | N/A | ||
Czech Railways | Train | EU | ? | Custom | ? | ? | |
Deutsche Bahn | Train | EU | Custom | Domestic: UIC 918.3 with vendor-specific payload International: UIC918.3 with RCT2 payload |
Yes | ||
DSB | Train | DK/EU | 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 | Custom | QR with proprietary JSON payload | untested | ||
Koleje Mazowiekie | Train | PL | 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 | 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 | Generic | UIC 918.3 with RCT2 payload (international) | ? | ||
ÖBB | Train | EU | 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 | 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 | TODO | UIC 918.3-like, KDE_PIM/KItinerary/PKP_Barcode | ? | ||
RegioJet | Train, Bus | EU? | ? | Custom | ? | ? | |
Renfe | Train | EU | 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? | 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 | 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? | 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 | 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 | 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 | 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 | Custom | numeric token | unknown |