iata_bcbp

Crates.ioiata_bcbp
lib.rsiata_bcbp
version1.0.0
sourcesrc
created_at2018-08-15 01:46:01.18222
updated_at2019-10-28 03:54:21.725292
descriptionIATA BCBP Parser in Rust Based on Resolution 792
homepagehttps://github.com/martinmroz/iata_bcbp.git
repositoryhttps://github.com/martinmroz/iata_bcbp.git
max_upload_size
id79496
size81,531
Martin Mroz (martinmroz)

documentation

https://martinmroz.github.io/iata_bcbp/master/iata_bcbp/

README

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.

Commit count: 65

cargo fmt