

export class FlightContractDTO {
    contract_id: string | null;
    org_id: string | null;
    supplier_id: string;
    contract_name: string;
    contract_description: string;
    pnr: string;
    is_instant_confirmation: boolean;
    _trip_type: string;
    no_of_legs: number;
    from_airport: string;
    to_airport: string;
    is_economy: boolean;
    is_premium_economy: boolean;
    is_business: boolean;
    is_first_class: boolean;
    is_all_pax_type: boolean;
    is_adult: boolean;
    is_child: boolean;
    is_infant: boolean;
    currency_code: string;
    validating_airline: string;
    is_multi_day: boolean;
    is_multi_day_range: boolean;
    outbound_date: string;
    return_date: string;
    operation_from: string;
    operation_to: string;
    revision_nbr: number | null;
    created_by: string | null;
    created_on: string | null;
    updated_by: string | null;
    updated_on: string | null;
    is_active: boolean | null;
    is_deleted: boolean | null;
    outbound_days: string | null;
    outbound_dates: string | null;
    flightDetail: FlightDetailDto[];
    flightRate: FlightsRateDto[];
}
export class FlightsRateDto {
    rate_id: string | null;
    org_id: string | null;
    supplier_id: string | null;
    contract_id: string | null;
    contract_date_unique_id: string | null;
    outbound_date: string;
    return_date: string;
    rbd: string;
    cabin_class: string;
    adt_base_fare: number;
    adt_tax: number;
    chd_base_fare: number;
    chd_tax: number;
    inf_base_fare: number;
    inf_tax: number;
    seat_allocation: number;
    seat_booked: number;
    seat_remaining: number;
    adt_check_bag: number;
    chd_check_bag: number;
    inf_check_bag: number;
    _check_bag_unit: number;
    adt_cabin_bag: number;
    chd_cabin_bag: number;
    inf_cabin_bag: number;
    _cabin_bag_unit: number;
    _fare_type: number;
    adt_fare_rule: string;
    chd_fare_rule: string;
    inf_fare_rule: string;
    is_meal_included: boolean;
    meal_details: string;
    inclusions: string;
    pnr: string;
    is_instant_confirmation: boolean;
    is_stop_sale: boolean;
    revision_nbr: number | null;
    created_by: string | null;
    created_on: string | null;
    updated_by: string | null;
    updated_on: string | null;
    is_active: boolean | null;
    is_deleted: boolean | null;
}
// 
export class FlightContractReq {
    FlightContract: FlightContracts;
    FlightDetails: FlightDetailDto[];
    FlightRates: FlightRateArray[];
}
export class FlightContracts {
    contract_name: string;
    contract_description: string;
    trip_type: string;
    origin: string;
    destination: string;
    no_of_legs: number;
    currency_code: string;
    contracted_cabin_class: string;
    contracted_pax_type: string;
    validating_airline: string;
    is_multi_day: boolean;
    is_oneway_sale_allowed: boolean;
    multi_day_operation_type: string;
    operation_from: string; // Assuming you'll handle date parsing separately
    operation_to: string; // Assuming you'll handle date parsing separately
    departure_date: string; // Assuming you'll handle date parsing separately
    return_date: string; // Assuming you'll handle date parsing separately
    departure_days: string;
    departure_dates: string;
    is_nearby_airports: boolean;
    is_active: boolean;
    nearby_from_airports: string;
    nearby_to_airports: string;
  is_instant_confirmation: boolean;
}

export class FlightDetailDto {
    flight_details_id: string | null;
    org_id: string | null;
    supplier_id: string | null;
    contract_id: string | null;
    airline_code: string;
    flight_no: string;
    aircraft_type_id: string;
    from_airport: string;
    to_airport: string;
    departure_date: string;
    departure_time: string;
    is_next_day_departure: boolean;
    departure_terminal: string;
    is_next_day_arrival: boolean;
    arrival_date: string;
    arrival_time: string;
    arrival_terminal: string;
    flying_duration: string;
    sector_nbr: number | null;
    _sector_type: string;
    leg_nbr: number;
    seg_nbr: number;
    contract_date_unique_id: string | null;
    revision_nbr: number | null;
    created_by: string | null;
    created_on: string | null;
    updated_by: string | null;
    updated_on: string | null;
    is_active: boolean | null;
    is_deleted: boolean | null;
}
export class FlightRateArray {
    rate_id: string;
    org_id: string;
    contract_id: string;
    contract_date_unique_id: string;
    departure_date: Date;
    rbd: string;
    fare_family_group_id: string;
    fare_family_name: string;
    cabin_class: string;
    adt_base_fare: number;
    adt_tax: number;
    chd_base_fare: number;
    chd_tax: number;
    inf_base_fare: number;
    inf_tax: number;
    fare_type_applicability: string;
    round_trip_discount_type: string;
    is_apply_discount_with_same_vc_only: boolean;
    adult_round_trip_discount: number;
    child_round_trip_discount: number;
    infant_round_trip_discount: number;
    seat_allocation: number;
    seat_booked: number;
    seat_cancelled: number;
    is_checked_bag_included: boolean;
    adt_check_bag: string;
    chd_check_bag: string;
    inf_check_bag: string;
    _check_bag_unit: string;
    adt_cabin_bag: string;
    chd_cabin_bag: string;
    inf_cabin_bag: string;
    _cabin_bag_unit: string;
    refund_type: string;
    adt_fare_rule: string;
    chd_fare_rule: string;
    inf_fare_rule: string;
    is_meal_included: boolean;
    meal_details: string;
    inclusions: string;
    pnr: string;
    is_instant_confirmation: boolean;
    is_stop_sale: boolean;
    updated_by: string;
}
export class FlightDetailsSearchModel {
    contract_name: string;
    vendor_id: string;
    validating_airline: string;
    trip_type: string;
    flight_no: string;
    cabin_class: string;
    origin: string;
    destination: string;
    departure_days: string;
    date_type: string;
    from_date: string;
    to_date: string;
    pnr: string;
    currency_code: string;
    refund_type: string;
    rbd: string;
    is_instant_confirmation: boolean;
    is_multi_day: boolean;
    is_oneway_sale_allowed: boolean;
  airline_code: any;
  confirmation_type: string;
}