Skip to content

IATA Bar Coded Boarding Pass (BCBP) Parsing Library in Rust

License

Notifications You must be signed in to change notification settings

martinmroz/iata_bcbp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IATA Bar Coded Boarding Pass (BCBP) Library

A Rust library for parsing IATA BCBP Type M objects conforming to versions 2 through 6 of the standard inclusively. This format is used by airlines to encode boarding pass information into electronic ticket itinerary document barcodes in addition to paper and mobile boarding passes.

Build Status Coverage Status

Usage

Add the following to your Cargo.toml:

[dependencies]
iata_bcbp = "1.0"

In addition, and this to your crate root:

extern crate iata_bcbp;

Here is an example which parses a BCBP object with test data and prints it:

extern crate iata_bcbp;

use std::str::FromStr;

use iata_bcbp::Bcbp;

fn main() {
    const PASS_STR: &str = "M1DESMARAIS/LUC       EABC123 YULFRAAC 0834 326J001A0025 100";
    let pass_data = Bcbp::from_str(PASS_STR).unwrap();

    println!("Passenger: {}", pass_data.passenger_name());
    
    for leg in pass_data.legs().iter() {
        println!();
        println!("      PNR: {}"  , leg.operating_carrier_pnr_code());
        println!("     From: {}"  , leg.from_city_airport_code());
        println!("       To: {}"  , leg.to_city_airport_code());
        println!("   Flight: {}{}", leg.operating_carrier_designator(), leg.flight_number());
        println!("     Seat: {}"  , leg.seat_number());
        println!(" Sequence: {}"  , leg.check_in_sequence_number());
    }
}

License

iata_bcbp is distributed under the terms of the MIT license.

See LICENSE for details.

About

IATA Bar Coded Boarding Pass (BCBP) Parsing Library in Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages