{
  "$schema": "mantara.schema.v1",
  "system_name": "Airlines Management System",
  "schema_name": "ai_sch_20260512_081622",
  "description": "A streamlined web application to manage core airline operations including flight scheduling, aircraft management, passenger bookings, and crew assignments.",
  "menus": [
    {
      "menu_id": 1,
      "menu_name": "Aircraft Management",
      "sequence_number": 1,
      "description": "Manage aircraft fleet, seat configurations, and availability.",
      "submenus": [
        {
          "submenu_id": 101,
          "submenu_name": "Aircraft Registration",
          "sequence_number": 1,
          "description": "Add, edit, and deactivate aircraft in the fleet.",
          "tables": [
            {
              "table_name": "aircraft",
              "comment": "Stores details about each aircraft in the fleet, including registration, model, and status.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 101 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "registration_number",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Unique registration number for the aircraft."
                },
                {
                  "name": "model",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Model of the aircraft."
                },
                {
                  "name": "manufacturer",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Manufacturer of the aircraft."
                },
                {
                  "name": "total_seats",
                  "type": "INT",
                  "constraints": "NOT NULL CHECK (total_seats > 0)",
                  "comment": "Total seating capacity of the aircraft."
                },
                {
                  "name": "year_manufactured",
                  "type": "INT",
                  "constraints": "CHECK (year_manufactured > 1900)",
                  "comment": "Year the aircraft was manufactured."
                },
                {
                  "name": "status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Current status of the aircraft (e.g., active, maintenance, retired)."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        },
        {
          "submenu_id": 102,
          "submenu_name": "Aircraft Seat Configuration",
          "sequence_number": 2,
          "description": "Configure seats for each aircraft, including seat numbering and class assignment.",
          "tables": [
            {
              "table_name": "seats",
              "comment": "Stores seat configuration for each aircraft, including seat number and class type.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 102 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "aircraft_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.aircraft(id) ON DELETE CASCADE",
                  "comment": "Foreign key to aircraft table."
                },
                {
                  "name": "seat_number",
                  "type": "VARCHAR(10)",
                  "constraints": "NOT NULL",
                  "comment": "Seat number (e.g., 1A, 1B)."
                },
                {
                  "name": "class_type",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Class type of the seat (e.g., economy, business, first class)."
                },
                {
                  "name": "is_window",
                  "type": "BOOLEAN",
                  "constraints": "NOT NULL DEFAULT FALSE",
                  "comment": "Indicates if the seat is a window seat."
                },
                {
                  "name": "is_aisle",
                  "type": "BOOLEAN",
                  "constraints": "NOT NULL DEFAULT FALSE",
                  "comment": "Indicates if the seat is an aisle seat."
                },
                {
                  "name": "is_exit_row",
                  "type": "BOOLEAN",
                  "constraints": "NOT NULL DEFAULT FALSE",
                  "comment": "Indicates if the seat is in an exit row."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "menu_id": 2,
      "menu_name": "Airport & Route Management",
      "sequence_number": 2,
      "description": "Manage airports and flight routes between them.",
      "submenus": [
        {
          "submenu_id": 201,
          "submenu_name": "Airport Management",
          "sequence_number": 1,
          "description": "Add, edit, and deactivate airports with IATA codes and location details.",
          "tables": [
            {
              "table_name": "airports",
              "comment": "Stores information about airports, including IATA code, name, and location.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 201 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "code",
                  "type": "VARCHAR(10)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Unique IATA code for the airport."
                },
                {
                  "name": "name",
                  "type": "VARCHAR(255)",
                  "constraints": "NOT NULL",
                  "comment": "Name of the airport."
                },
                {
                  "name": "city",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "City where the airport is located."
                },
                {
                  "name": "country",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Country where the airport is located."
                },
                {
                  "name": "timezone",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Timezone of the airport."
                },
                {
                  "name": "latitude",
                  "type": "DECIMAL(9,6)",
                  "comment": "Latitude coordinate of the airport."
                },
                {
                  "name": "longitude",
                  "type": "DECIMAL(9,6)",
                  "comment": "Longitude coordinate of the airport."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        },
        {
          "submenu_id": 202,
          "submenu_name": "Route Management",
          "sequence_number": 2,
          "description": "Create and manage flight routes between airports.",
          "tables": [
            {
              "table_name": "routes",
              "comment": "Stores flight routes between airports, including distance and duration.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 202 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "origin_airport_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.airports(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to origin airport."
                },
                {
                  "name": "destination_airport_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.airports(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to destination airport."
                },
                {
                  "name": "distance_km",
                  "type": "INT",
                  "constraints": "NOT NULL CHECK (distance_km > 0)",
                  "comment": "Distance of the route in kilometers."
                },
                {
                  "name": "estimated_duration_minutes",
                  "type": "INT",
                  "constraints": "NOT NULL CHECK (estimated_duration_minutes > 0)",
                  "comment": "Estimated flight duration in minutes."
                },
                {
                  "name": "status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Current status of the route (e.g., active, inactive)."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "menu_id": 3,
      "menu_name": "Flight Management",
      "sequence_number": 3,
      "description": "Manage flight scheduling, status updates, and search/display functions.",
      "submenus": [
        {
          "submenu_id": 301,
          "submenu_name": "Flight Scheduling",
          "sequence_number": 1,
          "description": "Create and manage flight schedules, including aircraft and route assignments.",
          "tables": [
            {
              "table_name": "flights",
              "comment": "Stores scheduled flights, including route, aircraft, and timing details.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 301 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "flight_number",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL",
                  "comment": "Unique flight number for the scheduled flight."
                },
                {
                  "name": "route_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.routes(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the route table."
                },
                {
                  "name": "aircraft_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.aircraft(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the aircraft table."
                },
                {
                  "name": "scheduled_departure",
                  "type": "TIMESTAMP",
                  "constraints": "NOT NULL",
                  "comment": "Scheduled departure time of the flight."
                },
                {
                  "name": "scheduled_arrival",
                  "type": "TIMESTAMP",
                  "constraints": "NOT NULL",
                  "comment": "Scheduled arrival time of the flight."
                },
                {
                  "name": "actual_departure",
                  "type": "TIMESTAMP",
                  "comment": "Actual departure time of the flight."
                },
                {
                  "name": "actual_arrival",
                  "type": "TIMESTAMP",
                  "comment": "Actual arrival time of the flight."
                },
                {
                  "name": "base_fare",
                  "type": "NUMERIC(10,2)",
                  "constraints": "NOT NULL CHECK (base_fare > 0)",
                  "comment": "Base fare for the flight."
                },
                {
                  "name": "status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Current status of the flight (e.g., scheduled, boarding, departed)."
                },
                {
                  "name": "gate",
                  "type": "VARCHAR(10)",
                  "comment": "Gate number for the flight."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        },
        {
          "submenu_id": 302,
          "submenu_name": "Flight Status Management",
          "sequence_number": 2,
          "description": "Update and manage flight statuses, including cancellations and delays."
        },
        {
          "submenu_id": 303,
          "submenu_name": "Flight Search & Display",
          "sequence_number": 3,
          "description": "Search and display flight information, including seat availability and pricing."
        }
      ]
    },
    {
      "menu_id": 4,
      "menu_name": "Crew Management",
      "sequence_number": 4,
      "description": "Manage crew members and their assignments to flights.",
      "submenus": [
        {
          "submenu_id": 401,
          "submenu_name": "Crew Member Management",
          "sequence_number": 1,
          "description": "Add, edit, and deactivate crew members, including role and certification details.",
          "tables": [
            {
              "table_name": "crew_members",
              "comment": "Stores information about crew members, including roles and certifications.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 401 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "employee_number",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Unique employee number for the crew member."
                },
                {
                  "name": "first_name",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "First name of the crew member."
                },
                {
                  "name": "last_name",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Last name of the crew member."
                },
                {
                  "name": "email",
                  "type": "VARCHAR(255)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Email address of the crew member."
                },
                {
                  "name": "phone",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL",
                  "comment": "Phone number of the crew member."
                },
                {
                  "name": "date_of_birth",
                  "type": "DATE",
                  "constraints": "NOT NULL",
                  "comment": "Date of birth of the crew member."
                },
                {
                  "name": "hire_date",
                  "type": "DATE",
                  "constraints": "NOT NULL",
                  "comment": "Date the crew member was hired."
                },
                {
                  "name": "role",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Role of the crew member (e.g., captain, first officer)."
                },
                {
                  "name": "certification_number",
                  "type": "VARCHAR(50)",
                  "comment": "Certification number of the crew member."
                },
                {
                  "name": "certification_expiry",
                  "type": "DATE",
                  "comment": "Expiry date of the crew member's certification."
                },
                {
                  "name": "status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Current status of the crew member (e.g., active, on leave)."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        },
        {
          "submenu_id": 402,
          "submenu_name": "Crew Assignment",
          "sequence_number": 2,
          "description": "Assign crew members to flights and manage their roles and schedules.",
          "tables": [
            {
              "table_name": "flight_crew_assignments",
              "comment": "Stores assignments of crew members to flights, including their roles.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 402 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "flight_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.flights(id) ON DELETE CASCADE",
                  "comment": "Foreign key to the flight table."
                },
                {
                  "name": "crew_member_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.crew_members(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the crew members table."
                },
                {
                  "name": "assigned_role",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Role assigned to the crew member for the flight."
                },
                {
                  "name": "assignment_status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Status of the crew assignment (e.g., assigned, confirmed)."
                },
                {
                  "name": "notes",
                  "type": "TEXT",
                  "comment": "Additional notes about the crew assignment."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "menu_id": 5,
      "menu_name": "Passenger & Booking Management",
      "sequence_number": 5,
      "description": "Manage passenger records and flight bookings.",
      "submenus": [
        {
          "submenu_id": 501,
          "submenu_name": "Passenger Management",
          "sequence_number": 1,
          "description": "Create and manage passenger records, including personal details and contact information.",
          "tables": [
            {
              "table_name": "passengers",
              "comment": "Stores passenger information, including contact details and passport information.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 501 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "first_name",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "First name of the passenger."
                },
                {
                  "name": "last_name",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Last name of the passenger."
                },
                {
                  "name": "email",
                  "type": "VARCHAR(255)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Email address of the passenger."
                },
                {
                  "name": "phone",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL",
                  "comment": "Phone number of the passenger."
                },
                {
                  "name": "date_of_birth",
                  "type": "DATE",
                  "constraints": "NOT NULL",
                  "comment": "Date of birth of the passenger."
                },
                {
                  "name": "passport_number",
                  "type": "VARCHAR(50)",
                  "constraints": "UNIQUE",
                  "comment": "Passport number of the passenger."
                },
                {
                  "name": "nationality",
                  "type": "VARCHAR(100)",
                  "constraints": "NOT NULL",
                  "comment": "Nationality of the passenger."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        },
        {
          "submenu_id": 502,
          "submenu_name": "Booking Management",
          "sequence_number": 2,
          "description": "Create and manage flight bookings, including seat assignments and fare class selection.",
          "tables": [
            {
              "table_name": "bookings",
              "comment": "Stores flight bookings, including passenger, flight, and seat details.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 502 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "booking_reference",
                  "type": "VARCHAR(20)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Unique reference number for the booking."
                },
                {
                  "name": "passenger_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.passengers(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the passenger table."
                },
                {
                  "name": "flight_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.flights(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the flight table."
                },
                {
                  "name": "seat_id",
                  "type": "INT",
                  "constraints": "REFERENCES ams.seats(id) ON DELETE SET NULL",
                  "comment": "Foreign key to the seat table."
                },
                {
                  "name": "fare_class_id",
                  "type": "INT",
                  "constraints": "NOT NULL REFERENCES ams.fare_classes(id) ON DELETE RESTRICT",
                  "comment": "Foreign key to the fare class table."
                },
                {
                  "name": "booking_status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Current status of the booking (e.g., confirmed, cancelled)."
                },
                {
                  "name": "total_price",
                  "type": "NUMERIC(10,2)",
                  "constraints": "NOT NULL CHECK (total_price >= 0)",
                  "comment": "Total price of the booking."
                },
                {
                  "name": "payment_status",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Payment status of the booking (e.g., pending, completed)."
                },
                {
                  "name": "payment_method",
                  "type": "VARCHAR(50)",
                  "comment": "Payment method used for the booking."
                },
                {
                  "name": "booking_date",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP",
                  "comment": "Date and time when the booking was made."
                },
                {
                  "name": "special_requests",
                  "type": "TEXT",
                  "comment": "Any special requests made by the passenger."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "menu_id": 6,
      "menu_name": "Fare Class Management",
      "sequence_number": 6,
      "description": "Manage fare classes and their pricing rules.",
      "submenus": [
        {
          "submenu_id": 601,
          "submenu_name": "Fare Class Configuration",
          "sequence_number": 1,
          "description": "Configure fare classes, including pricing multipliers and benefits.",
          "tables": [
            {
              "table_name": "fare_classes",
              "comment": "Stores fare class information, including pricing multipliers and baggage allowances.",
              "columns": [
                {
                  "name": "id",
                  "type": "SERIAL",
                  "constraints": "PRIMARY KEY"
                },
                {
                  "name": "submenu_id",
                  "type": "INT",
                  "constraints": "DEFAULT 601 NOT NULL REFERENCES ams.submenu(submenu_id)"
                },
                {
                  "name": "name",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL UNIQUE",
                  "comment": "Name of the fare class (e.g., Economy, Business)."
                },
                {
                  "name": "class_type",
                  "type": "VARCHAR(50)",
                  "constraints": "NOT NULL",
                  "comment": "Type of fare class (e.g., economy, business, first class)."
                },
                {
                  "name": "price_multiplier",
                  "type": "NUMERIC(5,2)",
                  "constraints": "NOT NULL CHECK (price_multiplier > 0)",
                  "comment": "Multiplier applied to the base fare for this class."
                },
                {
                  "name": "baggage_allowance_kg",
                  "type": "INT",
                  "constraints": "NOT NULL CHECK (baggage_allowance_kg >= 0)",
                  "comment": "Baggage allowance in kilograms for this fare class."
                },
                {
                  "name": "cancellation_allowed",
                  "type": "BOOLEAN",
                  "constraints": "NOT NULL DEFAULT TRUE",
                  "comment": "Indicates if cancellation is allowed for this fare class."
                },
                {
                  "name": "change_fee_percentage",
                  "type": "NUMERIC(5,2)",
                  "constraints": "NOT NULL DEFAULT 0 CHECK (change_fee_percentage >= 0 AND change_fee_percentage <= 100)",
                  "comment": "Percentage fee for changes to bookings in this fare class."
                },
                {
                  "name": "created_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                },
                {
                  "name": "updated_at",
                  "type": "TIMESTAMP",
                  "constraints": "DEFAULT CURRENT_TIMESTAMP"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "assumptions": [
    "Aircraft must have at least one seat configured before being assigned to flights.",
    "Flight numbers are unique per departure date.",
    "Crew members must have valid certifications for flight assignments."
  ],
  "open_questions": [
    "Should the system support multi-currency pricing?",
    "Is there a need for role-based access beyond the specified user roles?"
  ]
}
