use serde::{Deserialize, Serialize};
use std::borrow::Cow;

#[derive(Debug, Serialize, Deserialize)]
pub struct FlightLegRecord<'a> {
    pub flight_designator: Cow<'a, str>,
    pub operational_suffix: Cow<'a, str>,
    pub airline_designator: Cow<'a, str>,
    pub control_duplicate_indicator: Cow<'a, str>,
    pub flight_number: Cow<'a, str>,
    pub itinerary_variation_identifier: Cow<'a, str>,
    pub leg_sequence_number: Cow<'a, str>,
    pub service_type: Cow<'a, str>,
    pub period_of_operation_from: Cow<'a, str>,
    pub period_of_operation_to: Cow<'a, str>,
    pub days_of_operation: Cow<'a, str>,
    pub frequency_rate: Cow<'a, str>,
    pub departure_station: Cow<'a, str>,
    pub scheduled_time_of_passenger_departure: Cow<'a, str>,
    pub scheduled_time_of_aircraft_departure: Cow<'a, str>,
    pub time_variation_departure: Cow<'a, str>,
    pub passenger_terminal_departure: Cow<'a, str>,
    pub arrival_station: Cow<'a, str>,
    pub scheduled_time_of_aircraft_arrival: Cow<'a, str>,
    pub scheduled_time_of_passenger_arrival: Cow<'a, str>,
    pub time_variation_arrival: Cow<'a, str>,
    pub passenger_terminal_arrival: Cow<'a, str>,
    pub aircraft_type: Cow<'a, str>,
    pub passenger_reservations_booking_designator: Cow<'a, str>,
    pub passenger_reservations_booking_modifier: Cow<'a, str>,
    pub meal_service_note: Cow<'a, str>,
    pub joint_operation_airline_designators: Cow<'a, str>,
    pub min_connecting_time_status_departure: Cow<'a, str>,
    pub min_connecting_time_status_arrival: Cow<'a, str>,
    pub secure_flight_indicator: Cow<'a, str>,
    pub itinerary_variation_identifier_overflow: Cow<'a, str>,
    pub aircraft_owner: Cow<'a, str>,
    pub cockpit_crew_employer: Cow<'a, str>,
    pub cabin_crew_employer: Cow<'a, str>,
    pub onward_flight: Cow<'a, str>,
    pub airline_designator2: Cow<'a, str>,
    pub flight_number2: Cow<'a, str>,
    pub aircraft_rotation_layover: Cow<'a, str>,
    pub operational_suffix2: Cow<'a, str>,
    pub flight_transit_layover: Cow<'a, str>,
    pub operating_airline_disclosure: Cow<'a, str>,
    pub traffic_restriction_code: Cow<'a, str>,
    pub traffic_restriction_code_leg_overflow_indicator: Cow<'a, str>,
    pub aircraft_configuration: Cow<'a, str>,
    pub date_variation: Cow<'a, str>,
    pub record_type: char,
    pub record_serial_number: Cow<'a, str>,
}
