class Delaycodes {
  static String? exp(String code) {
    return codes[code];
  }

  static final Map<String, String> codes = {
    "00": "Further induced delay due to scheduled flight time",
    "01": "Further induced delay due to DCP",
    "02": "Further induced delay due to DCTI",
    "03": "Further induced delay due to DOA",
    "04": "Further induced delay due to CATERING",
    "05": "Further induced delay due to SECURITY",
    "06": "Further induced delay due to ATC",
    "07": "Further induced delay due to METEO",
    "08": "Other further induced delay",
    "09":
        "SCHEDULED GROUND TIME - Planned turnaround less than declared minimum",
    "11": "LATE CHECK-IN, acceptance after published deadlines",
    "11A":
        "Acceptation Pax after the latest check-in time (Handler responsibility)",
    "11B": "Acceptation Pax after the latest check-in time (Airline decision)",
    "11C": "Absence or lack of check-in staff",
    "11D": "Queue at ticket counter",
    "12": "LATE CHECK-IN, congestion in check-in area",
    "12A": "Queue at check-in counter/departure hall",
    "12B": "Queue at transit hall",
    "12C": "Other cases to be specified in the SI",
    "13": "CHECK-IN ERROR, passenger and baggage",
    "13A": "Check-in error/station staff",
    "13B": "Check-in error/other functions",
    "13C": "Late boarding caused by wrong or missing seating",
    "13D":
        "Discrepancy between the actual number of passengers onboard and loadsheet",
    "14": "OVERSALES, booking errors",
    "14A": "Overbook due to system error",
    "14B": "Offloading of OK passengers, involuntary down/upgradings",
    "14C": "Altea system error",
    "15": "BOARDING, discrepancies and paging, missing checked-in passengers",
    "15A": "Check-in error/gate staff",
    "15B": "Travel documents check at gate",
    "15C": "Lack of/late boarding staff positioning",
    "15D": "Awaiting checked-in passengers without baggage",
    "15E":
        "Transfer of booked passengers from oversold/cancelled/delayed flight",
    "16": "COMMERCIAL PUBLICITY / PASSENGER CONVENIENCE",
    "16A": "Passenger Illness/death……accident",
    "16B": "Loss, missing passenger personal effects",
    "16C": "VIP",
    "16D": "Handling of excessive/volumetric hand baggage",
    "16E": "Processing elderly passengers",
    "16F": "Other cases to be specified in the SI",
    "17": "CATERING ORDER late or incorrect order given to supplier",
    "17A":
        "Catering new order NOTE: If the crew refuses to accept passengers without meals, use code 65",
    "18":
        "BAGGAGE PROCESSING, SORTING etc. NOTE: If the delay is caused by a baggage sorting system inoperative or insufficient capacity and system owned by airport authorities, use code 87. If the system is operated by airport authority staff and the delay is caused by operator error, use code 87",
    "18A":
        "Delivery of baggage after the deadline (other than load connection)",
    "18B": "Weight/volumetric problems with baggage handling",
    "19":
        "Reduced Mobility Boarding/Deboarding of passengers with reduced mobility - Treatment of passengers disabled, sick",
    "21": "DOCUMENTATION",
    "21A": "Late Cargo documentation to aircraft",
    "21B":
        "Incorrect cargo figures in the FIDO system or wrongly stated to load control by the cargo dept.",
    "22": "LATE POSITIONING",
    "22A": "Late cargo at aircraft side",
    "22B": "Missing ULD’s c - breakdown or lack of tractor",
    "22C": "Insufficient and/or lack of trucks",
    "22D": "Service provider responsibility",
    "23": "LATE ACCEPTANCE OF CARGO",
    "23A": "Late acceptance of cargo for commercial reasons",
    "23B": "Without object",
    "23C": "Exceptionally large amount of in/outbound cargo",
    "24": "INADEQUATE PACKING",
    "24A": "Leaking/spillage from ULD’s",
    "25": "CARGO SCREENING",
    "25A": "X-Ray",
    "25B": "Sniffer dogs",
    "25C": "Physical Check",
    "26": "OTHER CARGO",
    "26A": "GHA’s fault",
    "26B": "Overweight cargo",
    "26C": "Cargo requires special handling equipment not available",
    "27": "DOCUMENTATION, PACKING, ETC.",
    "27A": "Mail documents late delivery to aircraft",
    "27B":
        "Incorrect mail figures in the FIDO system or wrongly stated to load control from the mail dept.",
    "27C": "Delays due to mail volumetric limitations",
    "27D": "Missing weight documentation on mail ULD’s or tags",
    "28": "LATE POSITIONING",
    "28A": "Late mail delivery at aircraft side",
    "28B": "Breakdown or lack of tractor",
    "29": "LATE ACCEPTANCE",
    "29A": "Late acceptance of mail for commercial reasons",
    "29B": "Volumetric mail in transit",
    "31":
        "AIRCRAFT DOCUMENTATION, late/inaccurate weight and balance documentation, general declaration, etc.",
    "31A": "Lack of/late ramp agent (D1/D3)",
    "31B": "Missing/late GD",
    "31C": "Late given loading instructions",
    "31D": "Error load sheet and weight balance",
    "31E": "Reseating of passengers for balance reasons",
    "31F": "Without object Deadload",
    "31G": "Other details to specify on SI",
    "32": "LOADING/UNLOADING, bulky items, special load, lack loading staff",
    "32A": "Lack or /late loaders",
    "32B": "Special cargo loading (HEA, HUM…)",
    "32C": "Loaders late from another flight",
    "32D": "Cabin load",
    "32E": "Exceptionally large amount of in/outbound baggage",
    "32F": "DLA not specify",
    "33":
        "LOADING EQUIPMENT, lack of or breakdown, e.g. container/pallet loader, lack of operating staff",
    "33A": "Lack of/late staff",
    "33B":
        "Lack of/late highloader, conveyor belt/other motorized loading device",
    "33C": "Lack of carts or dollies",
    "33D": "Lack of lashing/supporting material",
    "34": "SERVICING EQUIPMENT, lack of or breakdown",
    "34A": "Potable water supplier",
    "34B": "GPU",
    "34C": "ACU",
    "34D": "Toilet service",
    "34E": "Passenger steps",
    "34F": "De-icing equipment (service provider)",
    "34G": "Cleaning equipment (service provider)",
    "34H": "ASU",
    "35": "CABIN CLEANING",
    "35A": "Lack of/late cleaning staff",
    "35B": "Slow cleaning",
    "35C": "Lack headrests)",
    "35D": "Other cases to be specified in the SI",
    "36": "FUELING/DEFUELLING Late delivery; excludes late order",
    "36A": "Late fuel truck arrival",
    "36B": "Late station engineer arrival",
    "36C": "Defueling due to error petrolier",
    "37": "CATERING Late and/or incompatible delivery; late loading",
    "37A": "Latte/wrong delivery",
    "37B": "Lack of/late Loader",
    "37C": "Breakdown of catering equipment",
    "37D": "Late loading - loaders from another flight",
    "37E": "Missing equipment to be delivered by the catering company",
    "37F": "Transfer of pre-orders from compartment to cabin",
    "37G": "Transit servicing (service provider)",
    "37H": "Wrong given orders",
    "37I": "Free shop articles late delivery(service provider)",
    "37J": "Late crew meal delivery",
    "37K": "Medical kit late delivery",
    "37L": "Pharmacy kit late delivery",
    "38": "ULD 38 lack of or/unserviceable ULD’s or pallets",
    "39": "TECHNICAL EQUIPMENT lack and/or breakdown",
    "39A": "Late tractor (towing)",
    "39B": "Lack or late arrival station engineer",
    "41": "TECHNICAL DEFECT Aircraft defects including items covered by MEL",
    "41A": "Failures in the aircraft system",
    "41B": "Leased aircraft",
    "42": "SCHEDULED MAINTENANCE 42 Late release from maintenance",
    "43":
        "NON-SCHEDULED MAINTENANCE 43 Special checks and/or additional works beyond the normal maintenance schedule",
    "44": "SPARES AND MAINTENANCE",
    "44A": "Lack/shortage of spares",
    "44B":
        "Lack of and/or breakdown of maintenance equipment (service provider)",
    "44C": "Waiting Engineer",
    "45": "AOG SPARES To carry to another station 45 Late delivery to aircraft",
    "46": "AIRCRAFT CHANGE",
    "46A": "Due to technical reasons (own aircraft)",
    "46B": "Due to technical reasons (leased aircraft)",
    "47":
        "STAND-BY AIRCRAFT 47 Stand-by aircraft unavailable for technical reasons",
    "48": "SCHEDULED CABIN MAINTENANCE/ CLEANING 48",
    "48A": "Deep cleaning",
    "48B": "Cabin configuration, Class divider",
    "48C": "IFE (In-flight entertainment system)",
    "49": "OTHER EQUIPMENT",
    "49A": "Lavatory service",
    "49B": "Water Service",
    "51": "PREVIOUSLY UNREPORTED DAMAGE 51",
    "52": "DAMAGE BY OWN HANDLING",
    "52A": "Catering",
    "52B": "Passenger Boarding Bridge",
    "52C": "Ground Handling Equipment",
    "52D": "Towing",
    "52E": "Extreme weather conditions",
    "55":
        "DEPARTURE CONTROL Failure of automated systems including check-in, load control systems producing mass and balance",
    "55A": "FIDO-check-in",
    "55B": "FIDO-weight and balance calculations",
    "55C": "Equipment breakdown (printer/boarding pass printer)",
    "55D": "Long response time/terminal locked",
    "56":
        "CARGO PREPARATION DOCUMENTATION Failure of documentation and/or load control systems covering cargo",
    "56A": "From Tunisian stations",
    "56B": "From foreign stations",
    "57":
        "OPS FLIGHT PLAN 57 Failure of automates flight plan systems (excluding ATC)",
    "58": "OTHER AUTOMATED EQUIPMENT FAILURE 58 Other service provider systems",
    "61": "FLIGHT PLANS late completion or change of flight documentation",
    "61A": "Late fueling order (dispatch)",
    "61B": "Late fueling order (pilots)",
    "61C": "Complete change of flight documentation",
    "61D": "Lack of/late ATC flight plan",
    "62": "OPERATIONAL REQUIREMENTS Late alteration to fuel or payload",
    "62A": "Defueling on captain’s request",
    "62B": "Extra fuel order",
    "63":
        "LATE CREW BOARDING OR DEPARTURE PROCEDURES Late flight deck or entire crew, other than stand-by; late completion of flight deck crew checks",
    "63A": "Late crew arrival at aircraft due to ground transport",
    "63B": "Cabin crew shuttle late arrival",
    "63C":
        "Departure procedures in cockpit(special request not within operational requirements technical tolerance denial. fuelling for operational or economic reasons",
    "63D": "Late Cockpit crew arrival",
    "63E": "Customs and police formalities (Crew)",
    "63F": "Late pickup crew (in the foreign station)",
    "64": "FLIGHT DECK CREW SHORTAGE",
    "64A": "Sickness, disease",
    "64B": "Awaiting stand-by/late crew",
    "64C": "Flight time limitations",
    "64D": "Late Crew meals order",
    "64E": "Visa, health documents",
    "64F": "Scheduling/disposition errors",
    "64G": "Regulating error",
    "64H":
        "Flight time limitation/sickness/pick-up, cockpit crew (leased aircraft)",
    "64J": "Awaiting crew on proposal",
    "65":
        "FLIGHT DECK CREW SPECIAL REQUEST, not within operational requirements",
    "65A": "Catering order (captain’s request)",
    "65B":
        "Technical tolerance denial, excluding operational reason (refer to 41 A)",
    "66":
        "LATE CABIN CREW BOARDING OR DEPARTURE PROCEDURES, other than connection and stand-by",
    "66A": "Late crew bus arrival (airport)",
    "66B": "Late crew transportation (hotel)",
    "66C": "Safety / Security procedures",
    "66D": "Late cabin crew positioning",
    "66E": "Crew disembarkation",
    "66F": "Police and customs formalities",
    "66G": "Late free-shop crew member arrival",
    "67": "CABIN CREW SHORTAGE",
    "67A": "Sickness, disease",
    "67B": "Awaiting stand-by/late crew from home",
    "67C": "Flight time limitations",
    "67D": "Crew meals",
    "67E": "Visa, health documents",
    "67F": "Scheduling/disposition errors",
    "67G": "Regulating error",
    "67H":
        "Flight time limitation/sickness/pick-up, cockpit crew (leased aircraft)",
    "68":
        "CABIN CREW ERROR OR SPECIAL REQUEST Not within operational requirements",
    "68A": "Headcount mismatch of passengers on board",
    "68B": "Late embarkation due to Cabin attendant order",
    "68C": "Cabin configuration, Class divider",
    "68D": "Special cabin crew request",
    "69": "CAPTAIN REQUEST FOR SECURITY CHECK Extraordinary requests",
    "69A": "Baggage check requested by PIC",
    "69B": "Without object",
    "71": "DEPARTURE STATION, Below operating limits",
    "71A": "Departure station",
    "71B": "Volcanic ash > operating limits",
    "72": "DESTINATION STATION, below operating limits",
    "72A": "Destination station",
    "72B": "Volcanic ash > operating limits",
    "73": "EN-ROUTE OR ALTERNATE below operating limits",
    "73A": "En-route",
    "73B": "Volcanic ash > operating limits",
    "74": "DEPARTURE, DESTINATION OR EN-ROUTE, Volcanic ash < operating limits",
    "75": "DEICING OF AIRCRAFT",
    "75A": "De-icing before push-back > 5 min",
    "75B": "Miss De-icing (handler responsibility)",
    "75C": "De-icing after push-back (remote stand)",
    "75D": "De-icing equipment late positioning",
    "75E": "Volcanic ash decontamination",
    "76":
        "REMOVAL OF SNOW, ICE, WATER AND SAND FROM AIRPORT 76 Runway, taxiway conditions",
    "77":
        "GROUND HANDLING IMPAIRED BY ADVERSE WEATHER CONDITIONS 77 High winds, heavy rains, blizzard, etc.",
    "78": "Waiting for Weather improvement",
    "79": "Without object",
    "81": "ATC EN-ROUTE DEMAND 81 Capacity problems",
    "82": "ATFM DUE TO ATC STAFF/EQUIPMENT EN-ROUTE",
    "82A": "Industrial action",
    "82B": "Staff shortage",
    "82C": "Equipment shortage/failure",
    "83": "ATC AIPORT DESTINATION",
    "83A": "Runway closed due to obstruction",
    "83B": "Noise abatement",
    "83C": "Special events",
    "84": "ATC DUE TO WEATHER CONDITIONS AT DESTINATION 84 Weather conditions",
    "85": "MANDATORY SECURITY, involving passengers and/or cargo",
    "85A": "Queues at security check",
    "85B": "Lack of security staff",
    "85C": "Lack of equipment/facilities",
    "85D":
        "Late or missing passengers with baggage at the gate due to passengers’ own fault",
    "85E": "Baggage search for a missing passenger at boarding (PIC request)",
    "85F": "Additional security check",
    "86": "GOVERNMENTALAUTHORITIES, customs, immigration, health, etc.",
    "86A": "Departure",
    "86B": "Arrival",
    "87":
        "AIRPORT, terminal, apron congestion, lack of or breakdown of airport passenger or baggage handling equipment",
    "87A": "Congestion at the airport",
    "87B":
        "Lack of or breakdown of airport equipment (lifts, escalators, walkways)",
    "87C": "Breakdown or lack of baggage handling system",
    "87D": "Customs formalities",
    "87E": "Police formalities",
    "87F": "Authority control (CAA, SAFA…)",
    "88":
        "RESTRICTIONS AT DESTINATION AIRPORT, airport and/or runway closed due to obstruction, industrial action, staff shortage, political unrest, noise abatement, night curfew, special flights",
    "88A": "Airport and/or runway closed due to obstructions",
    "88B": "Political unrest or industrial action",
    "88C": "Noise abatement",
    "88D": "Special flights",
    "89":
        "RESTRICTIONS AT AIRPORT OF DEPARTURE including Air Traffic Services, start-up and push-back, airport and/or runway closed due to obstruction or weather (restriction due to weather in case of ATFM regulation only, else refer to code 71), industrial action, staff shortage, political unrest, noise abatement, night curfew, special flights",
    "89A": "Late Start-up push-back due to ATC local",
    "89B": "Industrial action",
    "89C": "Special flights",
    "89D": "Airport and/or runway closed due to obstruction",
    "89E": "Traffic congestion",
    "91": "LOAD CONNECTION, awaiting load from another flight",
    "91A": "Passengers and baggage wait",
    "91B": "Cargo and/or mail wait",
    "91C": "Bag transit wait",
    "92":
        "THROUGH CHECKING ERROR, passenger or baggage check-in error at the originating station",
    "92A": "Wrong passenger/baggage info from the previous station",
    "92B": "Too many pieces of hand baggage from the previous flight",
    "93":
        "AIRCRAFT ROTATION Late arrival of aircraft, crew, etc., from another flight or duty",
    "94": "DOWNGRADING OF AIRCRAFT TYPE",
    "94A": "Technical reasons (own aircraft)",
    "94B": "Commercial reasons (own aircraft)",
    "94C": "Technical reasons (leased aircraft)",
    "95": "FLIGHT CANCELLED DUE TO IRREGULARITY",
    "95A": "Own Irregularity",
    "95B": "Other airline’s irregularity",
    "96": "FLIGHT CANCELLED DUE TO OWN REASONS",
    "96A": "Commercial reasons",
    "96B": "Technical reasons",
    "96C": "Operational reasons",
    "97": "INDUSTRIAL ACTION WITHIN OWN AIRLINE",
    "97A": "Operations staff’s strike (dispatch)",
    "97B": "Maintenance strike",
    "97C": "Ground Handling strike",
    "97D": "Crew’s strike",
    "97E": "Refuelling companies strike",
    "97F": "Cargo handling strike",
    "97G": "IOCC’s strike",
    "98":
        "INDUSTRIAL ACTION OUTSIDE OWN AIRLINE 98 Industrial action(service providers)",
    "99":
        "MISCELLANEOUS No suitable code 99 Any other case, the reason must always be reported in plain text in the SI element of MVT"
  };
  /*
  static String? exp(String code) {
    for (var dtype in codes.keys) {
      final list = codes[dtype];
      for (var dcode in (list as Map).keys) {
        final dldata = codes[dtype]?[dcode];
        if (dcode == code) {
          return "${(dldata as Map)["meaning"]}\n${(dldata as Map)["explanation"]}";
        }
        if ((dldata?["sub-code"] is Map) &&
            (((dldata?["sub-code"] ?? {}) as Map).keys.contains(code)))
          return (dldata?["sub-code"] as Map)[code];
      }
    }

    // for (var dla in codes) {
    //   if (dla["code"] == code) return dla["meaning"].toString();
    //   for (var subdla in dla["subcodes"] as List) {
    //     if (subdla["subcode"] == code) {
    //       return "${dla["meaning"].toString()}\n${subdla["explanation"].toString()}";
    //     }
    //   }
    // }
    return null;
  }



  static final codes = {
    "TU Internal Codes": {
      "00": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to scheduled flight time",
        "sub-code": "00",
        "explanation": " "
      },
      "01": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to DCP",
        "sub-code": "01",
        "explanation": " "
      },
      "02": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to DCTI",
        "sub-code": "02",
        "explanation": " "
      },
      "03": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to DOA",
        "sub-code": "03",
        "explanation": " "
      },
      "04": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to CATERING",
        "sub-code": "04",
        "explanation": " "
      },
      "05": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to SECURITY",
        "sub-code": "05",
        "explanation": " "
      },
      "06": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to ATC",
        "sub-code": "06",
        "explanation": " "
      },
      "07": {
        "abbreviation": " ",
        "meaning": "Further induced delay due to METEO",
        "sub-code": "07",
        "explanation": " "
      },
      "08": {
        "abbreviation": " ",
        "meaning": "Other further induced delay",
        "sub-code": "08",
        "explanation": " "
      }
    },
    "Others": {
      "09": {
        "abbreviation": "SG",
        "meaning": "SCHEDULED GROUND TIME",
        "sub-code": "9",
        "explanation": "Planned turnaround less than declared minimum."
      },
      "11": {
        "abbreviation": "PD",
        "meaning": "LATE CHECK-IN, acceptance after published deadlines",
        "sub-code": {
          "11A":
              "Acceptation Pax after the latest check in time (Handler responsibility)",
          "11B":
              "Acceptation Pax after the latest check in time (Airline decision)"
        },
        "explanation": " "
      },
      "12": {
        "abbreviation": "PC",
        "meaning": "CABIN CLEANING, late/incomplete cleaning",
        "sub-code": " ",
        "explanation": " "
      },
      "13": {
        "abbreviation": "PF",
        "meaning":
            "AIRCRAFT FUEL, late/incorrect fuelling, defuelling, fuel company",
        "sub-code": " ",
        "explanation": " "
      },
      "14": {
        "abbreviation": "PG",
        "meaning": "LATE BOARDING OR DEPARTURE PROCEDURES",
        "sub-code": {
          "14A":
              "Late/ incorrect information given to passengers by airline, handling agents",
          "14B": "Late handling of connecting passengers",
          "14C": "Late handling of through check passengers",
          "14D": "Late crew transport",
          "14E": "Long queues at check-in, passport/emigration control",
          "14F": "Waiting for documents/clearance/late dispatch release",
          "14G": "Late handling of UM",
          "14H": "Gate change"
        },
        "explanation": " "
      },
      "15": {
        "abbreviation": "PB",
        "meaning": "BAGGAGE, late loading/unloading, baggage reconciliation",
        "sub-code": {
          "15A": "Late baggage arrival at aircraft side from terminal",
          "15B": "Late baggage arrival at aircraft side from late flight",
          "15C": "Baggage reconciliation, missing baggage",
          "15D": "Baggage overload",
          "15E": "Search of baggage for security reasons",
          "15F": "Late boarding of disabled passengers in transit",
          "15G": "Late/ or lack of buses",
          "15H":
              "Check/counting of boarding passes onboard or at gate due to discrepancies on loadsheet and passengers onboard"
        },
        "explanation": " "
      },
      "16": {
        "abbreviation": "PS",
        "meaning": "COMMERCIAL PUBLICITY / PASSENGER CONVENIENCE",
        "sub-code": {
          "16A": "Passenger illness/death - accident",
          "16B": "Loss, missing passenger personal effects",
          "16C": "VIP",
          "16D": "Handling of excessive/volumetric hand baggage",
          "16E": "Processing elderly passengers",
          "16F": "Other cases to be specified in the \"SI\""
        },
        "explanation": " "
      },
      "17": {
        "abbreviation": "PC",
        "meaning": "CATERING ORDER - late or incorrect order given to supplier",
        "sub-code": "17A",
        "explanation":
            "Catering new order NOTE: If crew refuses to accept passengers without meals, use code 65"
      },
      "18": {
        "abbreviation": "PB",
        "meaning":
            "BAGGAGE PROCESSING, SORTING etc NOTE: If delay caused by baggage sorting system inoperative or insufficient capacity and system owned by airport authorities, use code 87. If system operated by airport authority staff and delay caused by operator error, use code 87.",
        "sub-code": "18A",
        "explanation":
            "Delivery of baggage after deadline (other than load connection)"
      },
      "19": {
        "abbreviation": "PW",
        "meaning":
            "Reduced Mobility Boarding/Deboarding of passengers with reduced mobility. - Treatment of passengers disabled, sick,.........",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "Cargo": {
      "21": {
        "abbreviation": "CD",
        "meaning": "DOCUMENTATION, PACKING, ETC.",
        "sub-code": "21A",
        "explanation": "Cargo documents not ready / late delivery to aircraft"
      },
      "22": {
        "abbreviation": "CL",
        "meaning": "LATE POSITIONING",
        "sub-code": {
          "22A": "Late cargo delivery at aircraft side",
          "22B": "Breakdown or lack of equipment/staff"
        },
        "explanation": " "
      },
      "23": {
        "abbreviation": "CA",
        "meaning": "LATE ACCEPTANCE",
        "sub-code": {
          "23A": "Late acceptance of cargo for commercial reasons",
          "23B": "Volumetric cargo, awaiting later flight",
          "23C": "Dangerous goods, awaiting later flight",
          "23D": "Cargo weight in excess"
        },
        "explanation": " "
      },
      "24": {
        "abbreviation": "CS",
        "meaning": "CARGO SEARCH, for security or other reasons",
        "sub-code": " ",
        "explanation": " "
      },
      "25": {
        "abbreviation": "CG",
        "meaning": "GOVERNMENTAL FORMALITIES, customs, health, etc.",
        "sub-code": " ",
        "explanation": " "
      },
      "26": {
        "abbreviation": "CB",
        "meaning": "TRANSFER MANIFEST / INCOMPATIBLE ULD",
        "sub-code": "26A",
        "explanation": "Transfer manifest  late from other airline"
      }
    },
    "Mail": {
      "27": {
        "abbreviation": "CE",
        "meaning": "DOCUMENTATION, PACKING, ETC.",
        "sub-code": "27A",
        "explanation": "Mail documents late delivery to aircraft"
      },
      "28": {
        "abbreviation": "CL",
        "meaning": "LATE POSITIONING",
        "sub-code": {
          "28A": "Late mail delivery at aircraft side",
          "28B": "Breakdown or lack of tractor"
        },
        "explanation": " "
      },
      "29": {
        "abbreviation": "CA",
        "meaning": "LATE ACCEPTANCE",
        "sub-code": {
          "29A": "Late acceptance of mail for commercial reasons",
          "29B": "Volumetric mail in transit"
        },
        "explanation": " "
      }
    },
    "Aircraft and ramp handling": {
      "31": {
        "abbreviation": "GD",
        "meaning":
            "AIRCRAFT DOCUMENTATION, late/inaccurate weight and balance documentation, general declaration, etc.",
        "sub-code": {
          "31A": "Lack of/late ramp agent (D1/D3)",
          "31B": "Missing/late GD",
          "31C": "Late given loading instructions",
          "31D": "Error load sheet and weight balance",
          "31E": "Reseating of passengers for balance reasons",
          "31F": "Without object Deadload",
          "31G": "Other details to specify on SI"
        },
        "explanation": " "
      },
      "32": {
        "abbreviation": "GL",
        "meaning":
            "LOADING/UNLOADING, bulky items, special load, lack loading staff",
        "sub-code": {
          "32A": "Late arrival /shortage of loading staff /equipment",
          "32B": "Special load /OHG / AVI",
          "32C": "ULD off-load due Netz malfunction",
          "32D": "ULD off-load due to discrepancies"
        },
        "explanation": " "
      },
      "33": {
        "abbreviation": "GS",
        "meaning": "STAIRS/BRIDGE, late positioning/ removal, malfunction",
        "sub-code": " ",
        "explanation": " "
      },
      "34": {
        "abbreviation": "GT",
        "meaning": "WATER SERVICE/ TOILET SERVICE",
        "sub-code": {
          "34A": "Late arrival of water truck",
          "34B": "Late arrival of toilet service truck",
          "34C": "Breakdown of water truck/equipment",
          "34D": "Breakdown of toilet truck/equipment"
        },
        "explanation": " "
      },
      "35": {
        "abbreviation": "GC",
        "meaning":
            "CABIN  CLEANING - late and/or incompatible delivery; late loading",
        "sub-code": {
          "35A": "Lack of/late cleaning staff",
          "35B": "Slow cleaning",
          "35C": "Lack headrests",
          "35D": "Other cases to be specified in the \"SI"
        },
        "explanation": " "
      },
      "36": {
        "abbreviation": "GF",
        "meaning": "FUELING/DEFUELLING - Late delivery; excludes late order",
        "sub-code": {
          "36A": "Late fuel truck arrival",
          "36B": "Late station engineer arrival",
          "36C": "Defueling due to error petrolier"
        },
        "explanation": " "
      },
      "37": {
        "abbreviation": "GB",
        "meaning": "CATERING - Late and/or incompatible delivery; late loading",
        "sub-code": {
          "37A": "Late/wrong delivery",
          "37B": "Lack of/late loader",
          "37C": "Breakdown of catering equipment",
          "37D": "Late loading - loaders from another flight"
        },
        "explanation": " "
      },
      "38": {
        "abbreviation": "GP",
        "meaning": "PUSH BACK, late arrival of push back tug, etc.",
        "sub-code": " ",
        "explanation": " "
      },
      "39": {
        "abbreviation": "GA",
        "meaning": "DE-ICING / ANTI-ICING",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "Technical and aircraft equipment": {
      "41": {
        "abbreviation": "TD",
        "meaning":
            "TECHNICAL DEFECT - Aircraft defects including items covered by MEL",
        "sub-code": "41A",
        "explanation": "Failures in aircraft system"
      },
      "42": {
        "abbreviation": "TM",
        "meaning": "SCHEDULED MAINTENANCE",
        "sub-code": "42",
        "explanation": "Late release from maintenance"
      },
      "43": {
        "abbreviation": "TN",
        "meaning":
            "NON-SCHEDULED MAINTENANCE - Awaiting spare parts/engine change, etc.",
        "sub-code": " ",
        "explanation": " "
      },
      "44": {
        "abbreviation": "TA",
        "meaning": "AIRCRAFT CHANGE, for technical reasons",
        "sub-code": " ",
        "explanation": " "
      },
      "45": {
        "abbreviation": "TC",
        "meaning": "CLEANING OF AIRCRAFT, for technical reasons",
        "sub-code": " ",
        "explanation": " "
      },
      "46": {
        "abbreviation": "TO",
        "meaning": "TECHNICAL LOG, late completion, etc.",
        "sub-code": " ",
        "explanation": " "
      },
      "47": {
        "abbreviation": "TS",
        "meaning":
            "SPECIAL FREIGHT REGULATIONS, dangerous goods, animals, etc.",
        "sub-code": {
          "47A": "Special load",
          "47B": "Dangerous goods",
          "47C": "Animals"
        },
        "explanation": " "
      },
      "48": {
        "abbreviation": "TR",
        "meaning":
            "ARRIVAL WITH TECHNICAL PROBLEMS - Defects reported after landing. Technical short delay",
        "sub-code": " ",
        "explanation": " "
      },
      "49": {
        "abbreviation": "TT",
        "meaning":
            "TECHNICAL PROBLEMS WITH PREVIOUS AIRCRAFT - Technical defects leading to aircraft change/delay on next flight",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "Damage to aircraft": {
      "51": {
        "abbreviation": "DA",
        "meaning": "DAMAGE TO AIRCRAFT - Damage caused by own handling",
        "sub-code": " ",
        "explanation": " "
      },
      "52": {
        "abbreviation": "DB",
        "meaning": "BIRD STRIKE",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "EDP / Automated equipment failure": {
      "55": {
        "abbreviation": "ED",
        "meaning": "EDP FAILURE",
        "sub-code": "55A",
        "explanation": "From Tunisian stations"
      },
      "56": {
        "abbreviation": "EI",
        "meaning": "AUTOMATED BAGGAGE/CARGO HANDLING SYSTEM, inoperative",
        "sub-code": "56A",
        "explanation": "From Tunisian stations"
      },
      "57": {
        "abbreviation": "EF",
        "meaning":
            "OPS FLIGHT PLAN - Failure of automates flight plan systems (excluding ATC)",
        "sub-code": "57",
        "explanation": " "
      },
      "58": {
        "abbreviation": "EO",
        "meaning": "OTHER AUTOMATED EQUIPMENT FAILURE",
        "sub-code": "58",
        "explanation": "Other service provider systems"
      }
    },
    "Flight operations and crewing": {
      "61": {
        "abbreviation": "FP",
        "meaning":
            "FLIGHT PLANS - late completion or change of flight documentation",
        "sub-code": {
          "61A": "Late fueling order (dispatch)",
          "61B": "Late fueling order (pilots)",
          "61C": "Complete change of flight documentation",
          "61D": "Lack of/late ATC flight plan"
        },
        "explanation": " "
      },
      "62": {
        "abbreviation": "FF",
        "meaning":
            "OPERATIONAL REQUIREMENTS - Late alteration to fuel or payload",
        "sub-code": {
          "62A": "Defueling on captain’s request",
          "62B": "Extra fuel order"
        },
        "explanation": " "
      },
      "63": {
        "abbreviation": "FT",
        "meaning":
            "LATE CREW BOARDING OR DEPARTURE PROCEDURES - Late flight deck or entire crew, other than stand-by ;late completion of flight deck crew checks",
        "sub-code": {
          "63A": "Late crew arrival at aircraft due to ground transport",
          "63B": "Cabin crew shuttle late arrival",
          "63C":
              "Departure procedures in cockpit (special request not within operational requirements technical tolerance denial, fuelling for operational or economic reasons",
          "63D": "Late cockpit crew arrival",
          "63E": "Customs and police formalities (crew)",
          "63F": "Late pick up crew (in the foreign station)"
        },
        "explanation": " "
      },
      "64": {
        "abbreviation": "FS",
        "meaning": "FLIGHT DECK CREW SHORTAGE",
        "sub-code": {
          "64A": "Sickness, disease",
          "64B": "Awaiting standby / late crew",
          "64C": "Flight time limitations",
          "64D": "Late crew meals order",
          "64E": "Visa, health documents",
          "64F": "Scheduling / disposition errors",
          "64G": "Regulating error",
          "64H":
              "Flight time limitation / sickness / pick-up, cockpit crew (leased aircraft)",
          "64J": "Awaiting crew on proposal"
        },
        "explanation": " "
      },
      "65": {
        "abbreviation": "FR",
        "meaning":
            "FLIGHT DECK CREW SPECIAL REQUEST, not within operational requirements",
        "sub-code": {
          "65A": "Catering order (captain’s request)",
          "65B":
              "Technical tolerance denial, excluding operational reason (refer to 41A)"
        },
        "explanation": " "
      },
      "66": {
        "abbreviation": "FL",
        "meaning":
            "LATE CABIN CREW BOARDING OR DEPARTURE PROCEDURES, other than connection and stand-by",
        "sub-code": {
          "66A": "Late crew bus arrival (airport)",
          "66B": "Late crew transportation (hotel)",
          "66C": "Safety/security procedures",
          "66D": "Late cabin crew positioning",
          "66E": "Crew disembarkation",
          "66F": "Police and customs formalities",
          "66G": "Late free-shop crew member arrival"
        },
        "explanation": " "
      },
      "67": {
        "abbreviation": "FC",
        "meaning": "CABIN CREW SHORTAGE",
        "sub-code": {
          "67A": "Sickness, disease",
          "67B": "Awaiting stand-by / late crew",
          "67C": "Flight time limitations",
          "67D": "Visa, health documents",
          "67E": "Scheduling / disposition errors",
          "67F": "Regulating error",
          "67G":
              "Flight time limitation / sickness / pick-up, cockpit (leased aircraft)",
          "67H": "Late position"
        },
        "explanation": " "
      },
      "68": {
        "abbreviation": "FI",
        "meaning": "CABIN CREW, INDUSTRIAL ACTION",
        "sub-code": " ",
        "explanation": " "
      },
      "69": {
        "abbreviation": "FV",
        "meaning": "CABIN CREW, SICK PASSENGER",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "Weather": {
      "71": {
        "abbreviation": "WT",
        "meaning":
            "AIRCRAFT DE-ICING/ ANTI-ICING - Take-off delayed due to aircraft de-icing/anti-icing",
        "sub-code": " ",
        "explanation": " "
      },
      "72": {
        "abbreviation": "WV",
        "meaning":
            "POOR VISIBILITY, below airport minima, fog, smoke, haze, dust, sandstorms",
        "sub-code": " ",
        "explanation": " "
      },
      "73": {
        "abbreviation": "WS",
        "meaning": "WINDSHEAR, wind gusts, strong crosswind, storm",
        "sub-code": " ",
        "explanation": " "
      },
      "74": {
        "abbreviation": "WP",
        "meaning": "PRECIPITATION, snow, hail, ice, heavy rain",
        "sub-code": " ",
        "explanation": " "
      },
      "75": {
        "abbreviation": "WL",
        "meaning": "THUNDERSTORM / LIGHTNING, hurricane",
        "sub-code": " ",
        "explanation": " "
      },
      "76": {
        "abbreviation": "WC",
        "meaning": "CLOUD, fog",
        "sub-code": " ",
        "explanation": " "
      },
      "77": {
        "abbreviation": "WG",
        "meaning": "HAIL",
        "sub-code": " ",
        "explanation": " "
      },
      "78": {
        "abbreviation": "WH",
        "meaning": "SANDSTORMS, DUSTSTORMS",
        "sub-code": " ",
        "explanation": " "
      },
      "79": {
        "abbreviation": "WO",
        "meaning": "OTHER METEOROLOGICAL CONDITIONS",
        "sub-code": " ",
        "explanation": " "
      }
    },
    "Air Traffic Flow Management Restrictions": {
      "81": {
        "abbreviation": "AT",
        "meaning": "ATC EN-ROUTE DEMAND",
        "sub-code": "81",
        "explanation": "Capacity problems"
      },
      "82": {
        "abbreviation": "AX",
        "meaning": "ATFM DUE TO ATC STAFF/EQUIPMENT EN-ROUTE",
        "sub-code": {
          "82A": "Industrial action",
          "82B": "Staff shortage",
          "82C": "Equipment shortage/failure"
        },
        "explanation": " "
      },
      "83": {
        "abbreviation": "AE",
        "meaning": "ATC AIRPORT DESTINATION",
        "sub-code": {
          "83A": "Runaway closed due to obstruction",
          "83B": "Noise abatement",
          "83C": "Industrial action",
          "83D": "Previous events"
        },
        "explanation": " "
      },
      "84": {
        "abbreviation": "AD",
        "meaning": "ATFM DUE TO AIRPORT/RUNWAY CONDITIONS DESTINATION",
        "sub-code": {"84A": "Runway closure", "84B": "Work in progress"},
        "explanation": " "
      }
    },
    "Airport and Governmental Authorities": {
      "85": {
        "abbreviation": "AP",
        "meaning":
            "AIRPORT AND/OR TERMINAL SERVICES, security, customs, health, bus service, baggage sorting system, etc.",
        "sub-code": {"85A": "Industrial action", "85B": "Equipment failure"},
        "explanation": " "
      },
      "86": {
        "abbreviation": "AS",
        "meaning":
            "SECURITY - Security check of aircraft, passenger or baggage search",
        "sub-code": {
          "86A": "Security check on arrival",
          "86B": "Security check on departure"
        },
        "explanation": " "
      },
      "87": {
        "abbreviation": "AG",
        "meaning": "AIRPORT AND/OR TERMINAL CONGESTION",
        "sub-code": {
          "87A": "Passenger congestion in terminal",
          "87B": "Aircraft congestion on ramp/taxiways"
        },
        "explanation": " "
      },
      "88": {
        "abbreviation": "AI",
        "meaning":
            "IMMIGRATION, CUSTOMS, HEALTH - Immigration, quarantine, customs and/or other governmental authorities",
        "sub-code": {
          "88A": "Police/customs formalities (passengers)",
          "88B": "Health control (passengers)"
        },
        "explanation": " "
      },
      "89": {
        "abbreviation": "AO",
        "meaning":
            "AIRPORT AND/OR RUNWAY CLOSED/INOPERATIVE - Due to accident, incident, bomb scare, etc.",
        "sub-code": {
          "89A": "Accident",
          "89B": "Incident",
          "89C": "Bomb scare",
          "89D": "Airport and/or runaway closed due to obstruction",
          "89E": "Traffic congestion"
        },
        "explanation": " "
      }
    },
    "Reactionary": {
      "91": {
        "abbreviation": "RL",
        "meaning": "LOAD CONNECTION, awaiting load from another flight",
        "sub-code": {
          "91A": "Passengers and baggage wait",
          "91B": "Cargo and/or mail wait",
          "91C": "Bag transit wait"
        },
        "explanation": " "
      },
      "92": {
        "abbreviation": "RT",
        "meaning":
            "THROUGH CHECKING ERROR, passenger or baggage check-in error at originating station",
        "sub-code": {
          "92A": "Wrong passenger/baggage info from previous station",
          "92B": "Too many pieces of hand baggage from previous flight"
        },
        "explanation": " "
      },
      "93": {
        "abbreviation": "RA",
        "meaning":
            "AIRCRAFT ROTATION - Late arrival of aircraft due to late release from previous station. (Technical, operational or commercial delay on previous flight leg. Excludes knock-on effect of own delay.)",
        "sub-code": " ",
        "explanation": " "
      },
      "94": {
        "abbreviation": "RD",
        "meaning":
            "DIVERSION - Aircraft of previous flight diverted and delay on this flight leg a consequence. Excludes knock-on effect of own delay.)",
        "sub-code": " ",
        "explanation": " "
      },
      "95": {
        "abbreviation": "RC",
        "meaning":
            "CREW CONNECTION - Late arrival of crew due to delayed flight from previous station. Excludes knock-on effect of own delay.",
        "sub-code": " ",
        "explanation": " "
      },
      "96": {
        "abbreviation": "RV",
        "meaning":
            "PASSENGERS AND/OR BAGGAGE, awaiting connecting flight from another airport",
        "sub-code": " ",
        "explanation": " "
      },
      "97": {
        "abbreviation": "MI",
        "meaning": "INDUSTRIAL ACTION WITHIN OWN AIRLINE",
        "sub-code": {
          "97A": "Dispatch strike",
          "97B": "Maintenance strike",
          "97C": "Ground handling strike",
          "97D": "Crew’s strike",
          "97E": "Refuelling companies strike",
          "97F": "Cargo handling strike",
          "97G": "IOCC's strike"
        },
        "explanation": " "
      },
      "98": {
        "abbreviation": "MO",
        "meaning": "INDUSTRIAL ACTION OUTSIDE OWN AIRLINE",
        "sub-code": "98",
        "explanation": "Industrial action (service providers)"
      },
      "99": {
        "abbreviation": "MX",
        "meaning": "MISCELLANEOUS - No suitable code",
        "sub-code": "99",
        "explanation":
            "Any other case, reason must always be reported in plain text in SI element of MVT"
      }
    }
  };
*/
}
